前言
平时写网页做表单验证时有两种方式,第一种就是自己手写正则,第二种就是使用验证插件,jQuery Validate是我用的最多的一个插件,但是这个默认提供的一些验证在真正项目中满足不了,所以需要自己手动扩展。
对于手写正则这里有个好用的测试工具 正则表达式在线测试地址
官方里的additional-methods.js里的包含了一些常用的验证方法,有需要的可以自己去查看。
前端代码书写示例:
$("#form").validate({
rules: {
isIdCardNo: "isIdCardNo",
},
messages: {
isIdCardNo: "请输入您的二代身份证号码",
}
})
规则说明
查看规则说明
官方插件常用验证规则
编号 |
规则 |
说明 |
1 |
required:true |
必须输入的字段。 |
2 |
remote:"check.php" |
使用 ajax 方法调用 check.php 验证输入值。 |
3 |
email:true |
必须输入正确格式的电子邮件。 |
4 |
url:true |
必须输入正确格式的网址。 |
5 |
date:true |
必须输入正确格式的日期。日期校验 ie6 出错,慎用。 |
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。 |
特殊需求
编号 |
参数 |
说明 |
1 |
isEmail |
Email地址 |
2 |
isDomain |
域名 |
3 |
isURL |
网址 |
4 |
isMobile |
国内手机号码 |
5 |
isTelphone |
国内电话号码 |
5 |
|
国际电话号码 |
6 |
isOldIdCardNo |
大陆身份证号(一代) |
7 |
isIdCardNo |
大陆身份证号(二代) |
8 |
isFullDate |
完整日期格式 |
9 |
isQQ |
腾讯QQ号 |
10 |
isZipCode |
中国邮政编码 |
11 |
isIP |
IP地址 |
12 |
isWeakPassword |
弱密码 |
13 |
isMediumPassword |
中等强度密码 |
14 |
isStrongPassword |
强密码 |
15 |
isMoney |
金额 |
16 |
isImage |
图片格式 |
17 |
|
银行卡号 |
18 |
isWeixin |
微信号 |
19 |
isVideo |
视频格式 |
20 |
isAudio |
音频格式 |
21 |
isTime |
时间 |
22 |
isDate |
年月日 |
各类证件号码
编号 |
参数 |
说明 |
1 |
isDriverNumber |
驾驶证号 |
2 |
|
行驶证号 |
3 |
isVIN |
车架号 |
4 |
isEngineNumber |
发动机号 |
5 |
isVehicleNumber |
车牌号 |
6 |
isOfficerCard |
军官证号(仅供参考) |
7 |
isHKMacaoCard |
港澳通行证号(仅供参考) |
8 |
isTWCompatriotsCard |
台胞证号(仅供参考) |
9 |
isChinesePassport |
中国护照号 |
10 |
|
外国护照号 |
11 |
isMTPforHKMacao |
回乡证号 |
数字类
编号 |
参数 |
说明 |
1 |
isPositiveInteger |
匹配正整数 |
2 |
isNegtiveInteger |
匹配负整数 |
3 |
isInteger |
匹配整数 |
4 |
isNonNegtiveInteger |
匹配非负整数(正整数 + 0) |
5 |
isNonPositiveInteger |
匹配非正整数(负整数 + 0) |
6 |
isPositiveFloat |
匹配正浮点数 |
7 |
isNegativeFloat |
匹配负浮点数 |
8 |
isFloat |
匹配浮点数 |
9 |
isNonNegativeFloat |
匹配非负浮点数(正浮点数 + 0) |
10 |
isNonPositiveFloat |
匹配非正浮点数(负浮点数 + 0) |
字符类
编号 |
参数 |
说明 |
1 |
isChinese |
匹配中文 |
2 |
isEnglishLetter |
由26个英文字母组成的字符串 |
3 |
isUppercaseEnglishLetter |
由26个大写英文字母组成的字符串 |
4 |
isLowercaseEnglishLetter |
由26个小写英文字母组成的字符串 |
5 |
isNumAndLetters |
由数字和26个英文字母组成的字符串 |
6 |
isNumAndLettersAndUnderline |
由数字、26个英文字母或者下划线组成的字符串 |
示例演示
查看示例
获取插件
获取插件