您的位置:首页 > Web前端 > JavaScript

javascript表单验证

2015-06-14 21:05 645 查看
转自:http://blog.csdn.net/diershi/article/details/4084981

1、用户名验证:匹配规则为4到16个字符(包括字母和数字)。代码如下:

function
isNumberOrLetter(s)//判断是否是数字或字母,用于验证用户名,失去焦点验证。

{

var regu = "^[0-9a-zA-Z]{4,16}$";

var re = new RegExp(regu);

if (!re.test(s))

{

document.getElementById ("userInf").innerHTML="用户名格式不对!";

document.getElementById ("userInf").style.color="red";

}

else

{

document.getElementById ("userInf").innerHTML="用户名通过!";

document.getElementById ("userInf").style.color="green";

document.getElementById ("userIDCheck").innerHTML="";

2、密码验证:规则为6到16个字符、下划线,第一个字符为字母。

function validatorPassword(s)//验证规则为6到16数字、字母、下划线组成,首字母为字母,用于验证密码。

{

regu="^[a-zA-Z][0-9a-zA-Z_]{5,15}$";

re=new RegExp(regu);

if (!re.test(s))

{

document.getElementById ("passwordInf").innerHTML="不对!";

document.getElementById ("passwordInf").style.color="red";

}

else

{

document.getElementById ("passwordInf").innerHTML="通过!";

document.getElementById ("passwordInf").style.color="green";

document.getElementById ("passwordCheck").innerHTML="";

}

// alert("6到16个数字、下划线和英文字符,第一个必须为字母,不区分字母大小写");

}

3、密码确认:验证两次密码必须一致。

function passwordConfirm(s)//确认密码验证

{

if(s.toLowerCase()!=document.getElementById ("password").value.toLowerCase())

{

document.getElementById ("confirmInf").innerHTML="密码不一致!";

document.getElementById ("confirmInf").style.color="red";

}

else

{

document.getElementById ("confirmInf").innerHTML="通过!";

document.getElementById ("confirmInf").style.color="green";

document.getElementById ("confirmCheck").innerHTML="";

}

// alert("两次密码输入不一致");

}

4、邮箱验证:

function isEmail(strEmail) //邮箱验证

{

if (strEmail.search(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/) == -1)

{

document.getElementById ("emailInf").innerHTML="格式不对!";

document.getElementById ("emailInf").style.color="red";

}

else

{

document.getElementById ("emailInf").innerHTML="通过!";

document.getElementById ("emailInf").style.color="green";

document.getElementById ("emailCheck").innerHTML="";

}

// alert("Email格式不正确!");

// document.formSignUp.email.value="";

// document.formSignUp.email.focus();

}

5、身份证验证:包括15位和18位。

function idNumber(s)//身份证验证

{

regu1=/^[1-9]/d{7}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{3}$/;//15wei

regu2=/^[1-9]/d{5}[1-9]/d{3}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{4}$/;//18wei

re1=new RegExp(regu1);

re2=new RegExp(regu2);

if(!(re1.test(s)||re2.test(s)))

{

document.getElementById ("idCardInf").innerHTML="格式不对!";

document.getElementById ("idCardInf").style.color="red";

}

else

{

document.getElementById ("idCardInf").innerHTML="通过!";

document.getElementById ("idCardInf").style.color="green";

document.getElementById ("idCardCheck").innerHTML="";

}

// alert("请正确填写18位或15位身份证号码");

}

6、手机号码验证:13和15开头的号码。

function isMobileNO(s)//手机验证

{

var a = /^((/(/d{3}/))|(/d{3}/-))?13/d{9}|15/d{9}$/ ;

if( !s.match(a) )

{

document.getElementById ("mobileNOInf").innerHTML="格式不对!";

document.getElementById ("mobileNOInf").style.color="red";

// alert("手机号码格式不对");

}

else

{

document.getElementById ("mobileNOInf").innerHTML="通过!";

document.getElementById ("mobileNOInf").style.color="green";

document.getElementById ("mobileNOCheck").innerHTML="";

}

}

7、各表单域提示信息,获得焦点验证。

function displayInform(s)//注册信息规则提示信息(获得焦点验证)

{

if(s=="user")

document.getElementById ("userIDCheck").innerHTML="(用户名由4-16个数字或字母组成)";

if(s=="password")

document.getElementById ("passwordCheck").innerHTML="(密码由6-16个数字、字母、下划线组成,首字母必须是字母,不区分大小写)";

if(s=="passwordC")

document.getElementById ("confirmCheck").innerHTML="(两次密码输入必须一致)";

if(s=="idCard")

document.getElementById ("idCardCheck").innerHTML="(请输入正确的号码,以便你更容易找回密码)";

if(s=="mobileNO")

document.getElementById ("mobileNOCheck").innerHTML="(请输入正确的号码,以便你更快找回密码)";

if(s=="email")

document.getElementById ("emailCheck").innerHTML="(请输入正确的邮箱地址,以便你更容易找回密码)";

}

8、表单提交验证:先对必填项进行非空验证,再进行匹配验证。

function submitValidator() //提交验证

{

if(document.getElementById("control").style.display=="inline")

{

if((document.getElementById ("user").value=="")||(document.getElementById("password").value=="")||(document.getElementById("passwordC").value=="")||(document.getElementById("answer").value=="")||(document.getElementById("question").value==""))

{

alert("必填项不能为空!");

return false;

}

else

{

if((document.getElementById ("user").value).match(/^[0-9a-zA-Z]{4,16}$/)&&(document.getElementById("password").value).match(/^[a-zA-Z][0-9a-zA-Z_]{5,15}$/)&&

(document.getElementById ("password").value.toLowerCase()==document.getElementById ("passwordC").value.toLowerCase()))

{return true;}

else

{alert("输入格式不对");return false;}

}

}

else

{

if((document.getElementById ("user").value=="")||(document.getElementById("password").value=="")||(document.getElementById("passwordC").value=="")||(document.getElementById("answer").value==""))

{

alert("必填项不能为空!");

return false;

}

else

{

if((document.getElementById ("user").value).match(/^[0-9a-zA-Z]{4,16}$/)&&(document.getElementById("password").value).match(/^[a-zA-Z][0-9a-zA-Z_]{5,15}$/)&&

(document.getElementById ("password").value.toLowerCase()==document.getElementById ("passwordC").value.toLowerCase()))

{return true;}

else

{alert("输入格式不对");return false;}

}

}

在form表单里面的设置:

<form action="" method="get" onSubmit="return
isNumberOrLetter(s)">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: