Jquery.validate.js实现前端表单验证

JavaScript05

Jquery.validate.js实现前端表单验证,第1张

jquery.validate.js表单验证

官方网站: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

API: http://jquery.bassistance.de/api-browser/plugins.html

当前版本:1.5.5

需要JQuery版本:1.2.6+, 兼容 1.3.2

<script src="../js/jquery.js" type="text/javascript"></script>

<script src="../js/jquery.validate.js" type="text/javascript"></script>

(1)required:true 必输字段

(2)remote:"check.php" 使用ajax方法调用check.php验证输入值

(3)email:true 必须输入正确格式的电子邮件

(4)url:true必须输入正确格式的网址

(5)date:true 必须输入正确格式的日期

(6)dateISO:true必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性

(7)number:true 必须输入合法的数字(负数,小数)

(8)digits:true 必须输入整数

(9)creditcard: 必须输入合法的信用卡号

(10)equalTo:"#field" 输入值必须和#field相同

(11)accept:输入拥有合法后缀名的字符串(上传文件的后缀)

(12)maxlength:5输入长度最多是5的字符串(汉字算一个字符)

(13)minlength:10 输入长度最小是10的字符串(汉字算一个字符)

(14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)

(15)range:[5,10] 输入值必须介于 5 和 10 之间

(16)max:5 输入值不能大于5

(17)min:10 输入值不能小于10

例子:自定义密码验证的规则

我来举个例子,很简单的

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

function formCheck(){//表单验证

var userForm=document.forms.userForm

if(userForm.username.value==null||userForm.username.value.length<=0){

alert("用户名不能为空")

return false

}else if(userForm.username.value.length<6||userForm.username.value.length>20){

alert("用户名必须为6-20位")

return false

}else if(userForm.password.value==null||userForm.password.value.length<=0){

alert("密码不能为空")

return false

}else if(userForm.password.value.length<6||userForm.password.value.length>20){

alert("密码必须为6-20位")

return false

}else{

userForm.submit()

}

}

</script>

</head>

<body>

<form action="" name="userForm">

userName:<input type="text" name="username"><br>

password:<input type="password" name="password"><br>

<input type="button" value="提交" onclick=" formCheck()">

</form>

</body>

</html>

验证函数如下:

function chkfrm(o){

if(!/\d+/gi.test(o.empid.value)){

alert('雇员编号:只能是数字。')

return false

}

if(o.empname.value==''){

alert('雇员姓名:不能为空。')

return false

}

if(o.empjob.value==''){

alert('雇员工作:不能为空。')

return false

}

if(!/^((((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13578]|1[02])[-\/](0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13456789]|1[012])[-\/](0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})[-\/]0?2[-\/](0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))[-\/]0?2[-\/]29[-\/]))$/gi.test(o.emptime.value)){

alert('雇佣日期:必须是日期格式,即2013-03-02')

return false

}

if(isNaN(o.empmoney.value)){

alert('基本工资:必须是数字(小数)')

return false

}

if(isNaN(o.emprw.value)){

alert('奖金:必须是数字(小数)')

return false

}

}

<form action="" method="post">

改为

<form action="" method="post" onsubmit="javascript:return chkfrm(this)">

即可