最近在做微信端的界面,一直写表单验证!一直在写表单验证!发现jquery-validate还真是好用哎,今天总结了一些:
(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
Demo:
首先要引jquery和jquery.validate类库:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
html里:
<form action="" method="get" id="form">
<input type="text" value="" name="userName" />
<input type="submit" value="提交" />
</form>
在js/ts里开启验证模式
$("#form").validate({
// 添加验证规则
rules: {
userName:{ //这边的username,取得是form里面 name的值
required: true, //必填项
digits:true,
userName: true,
rangelength: [5,10] ,
remote:"http://taojiaqu.com" //url验证配对,只能返回true或false
}
},
//重设提示信息
messages:{
userName: {
required: "请填写用户名",
digits:"请输入整数",
remote:"该用户名已经被使用",
rangelength: "用户名必须在5-10个字符之间" ,
}
}
});
当需要特殊验证时,比如,手机号码验证、密码验证(要求字母与数字组合6位及以上)则需要正则表达式验证。
除特殊字符验证:
空格验证:
//15位或者18位验证
jQuery.validator.addMethod("codeLength", function (value, element) {
var length = value.length;
return (length == 15 || length == 18);
}, "营业执照注册号格式错误"); //空格验证
jQuery.validator.addMethod("whiteSpace", function (value, element) {
var empty = /^[^\s]*$/;
return this.optional(element) || (empty.test(value));
}, "不能有空格");
//图片验证码验证
jQuery.validator.addMethod("imageCode", function (value, element) {
var cookieCode = getCookieByKey(imageKey);
return (cookieCode == value);
}, "请输入正确的图片验证码");
//要求不能输入特殊字符
jQuery.validator.addMethod("charcheck", function (value, element) {
var code = /^([0-9]|[a-z]|[A-Z]|[\u4E00-\u9FA5])+$/;
return this.optional(element) || (code.test(value));
}, "要求不能输入特殊字符");
//数字、字母或者数字加字母,可以全数字,不可以全字母
jQuery.validator.addMethod("TrxCodeCheck", function (value, element) {
var TrxCodeCheck = /(^[a-zA-Z]+[0-9]+$)|(^[0-9]+[a-zA-Z]+$)|(^[0-9]+)$/;
return this.optional(element) || (TrxCodeCheck.test(value));
}, "要求数字、字母或者字母加数字");
虽然简单但是一定要细心,之前把messages写在了rules,结果死活出不来。所以要细心,鞭策自己!