表单校验--js部分

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>表单校验。</title>
</head>
<body> <!--
表单校验。
--> <script type="text/javascript">
/*
//校验用户名
function checkUser(){
var flag; var oUserNode = document.getElementsByName("user")[0]; var name = oUserNode.value; //定义正则表达式的三种方式
          //这里的i是不区分大小写,同时还有g代表可以进行全局匹配,m代表可以多行匹配
var reg = new RegExp("^[a-z]{4}$","i");//必须是四个字母。 // reg = new RegExp("^\\d{4}$");// 必须是四个数字。
// reg = /^\d{4}$/; var oSpanNode = document.getElementById("userspan"); // if(name=="abc"){
if(reg.test(name)){
oSpanNode.innerHTML = "用户名正确".fontcolor("green");
flag = true;
}else{
oSpanNode.innerHTML = "用户名错误".fontcolor("red");
flag = false;
} return flag;
}
*/ /*
* 发现很多框的校验除了几个内容不同外,校验的过程是一样的。
* 所以进行了代码的提取。
*
*/ function check(name,reg,spanId,okinfo,errinfo){
var flag;
var val = document.getElementsByName(name)[0].value; var oSpanNode = document.getElementById(spanId); if(reg.test(val)){
oSpanNode.innerHTML = okinfo.fontcolor("green");
flag = true;
}else{
oSpanNode.innerHTML = errinfo.fontcolor("red");
flag = false;
}
return flag;
} //校验用户名。
function checkUser(){ var reg = /^[a-z]{4}$/i;
return check("user",reg,"userspan","用户名正确","用户名错误"); } //校验密码;
function checkPsw(){
//这里只是简单使用Lee正则表达式
var reg = /^\d{4}$/;
return check("psw",reg,"pswspan","密码格式正确","密码格式错误");
} //校验确定密码。只要和密码一致即可。
function checkRepsw(){ var flag;
//获取密码框内容。
var pass = document.getElementsByName("psw")[0].value; //获取确认密码框内容。
var repass = document.getElementsByName("repsw")[0].value; //获取确认密码的span区域。
var oSpanNode = document.getElementById("repswspan"); if(pass==repass){
oSpanNode.innerHTML = "两次密码一致".fontcolor("green");
flag = true;
}else{
oSpanNode.innerHTML = "两次密码不一致".fontcolor("red");
flag = false;
}
return flag;
} //校验邮件
function checkMail(){
var reg = /^\w+@\w+(\.\w+)+$/i;
return check("mail",reg,"mailspan","邮件地址正确","邮件地址错误");
} // 提交事件处理。
function checkForm(){
// alert(checkUser() +"--"+ checkPsw() +"--"+ checkRepsw() +"--"+ checkMail());
if(checkUser() && checkPsw() && checkRepsw() && checkMail())
return true;
return false;
} //自定义的提交方法
function mySubmit(){ var oFormNode = document.getElementById("userinfo"); oFormNode.submit(); }
</script> <form id="userinfo" onsubmit="return checkForm()"> 用户名称:<input type="text" name="user" onblur="checkUser()" />
<span id="userspan"></span>
<br/> 输入密码:<input type="text" name="psw" onblur="checkPsw()" />
<span id="pswspan"></span>
<br/> 确定密码:<input type="text" name="repsw" onblur="checkRepsw()" />
<span id="repswspan"></span>
<br/> 邮件地址:<input type="text" name="mail" onblur="checkMail()" />
<span id="mailspan"></span>
<br/> <input type="submit" value="提交数据" />
</form>
<hr/>
<!--自定提交按钮-->
<input type="button" value="我的提交" onclick="mySubmit()" /> </body>
</html>
上一篇:UVa 10795 - A Different Task 对称, 中间状态, 数位DP 难度: 3


下一篇:Django html标签make_safe