常用的表单验证

整理了一些常用的表单验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/**
* 定义一个可静态调用方法的js类
*
*/
function ChkUtil() {};
//校验是否全是数字
ChkUtil.isDigit = function(str) {
var patrn = /^\d+$/;
return patrn.test(str);
};
//校验是否是整数
ChkUtil.isInteger = function(str) {
var patrn = /^([+-]?)(\d+)$/;
return patrn.test(str);
};
//校验是否为正整数
ChkUtil.isPlusInteger = function(str) {
var patrn = /^[0-9]*[1-9][0-9]*$/;
return patrn.test(str);
};
//校验是否为负整数
ChkUtil.isMinusInteger = function(str) {
var patrn = /^-(\d+)$/;
return patrn.test(str);
};
//校验是否为浮点数
ChkUtil.isFloat = function(str) {
var patrn = /^([+-]?)\d*\.\d+$/;
return patrn.test(str);
};
//校验是否为正浮点数
ChkUtil.isPlusFloat = function(str) {
var patrn = /^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$/;
return patrn.test(str);
};
//校验是否为负浮点数
ChkUtil.isMinusFloat = function(str) {
var patrn = /^-\d*\.\d+$/;
return patrn.test(str);
};
//校验是否仅中文
ChkUtil.isChinese = function(str) {
var patrn = /[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
return patrn.test(str);
};
//校验是否仅ACSII字符
ChkUtil.isAcsii = function(str) {
var patrn = /^[\x00-\xFF]+$/;
return patrn.test(str);
};
//校验手机号码
ChkUtil.isMobile = function(str) {
var patrn = /^(1(3|5|7|8)[0-9]|15[0|3|6|7|8|9]|18[7|8|9])\d{8}$/;
return patrn.test(str);
};
//校验电话号码
ChkUtil.isPhone = function(str) {
var patrn = /^(0[\d]{2,3}-)?\d{6,8}(-\d{3,4})?$/;
return patrn.test(str);
};
//校验URL地址
ChkUtil.isUrl = function(str) {
var patrn = /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;
return patrn.test(str);
};
//校验电邮地址
ChkUtil.isEmail = function(str) {
var patrn = /^[\w-]+@[\w-]+(\.[\w-]+)+$/;
return patrn.test(str);
};
//校验邮编
ChkUtil.isZipCode = function(str) {
var patrn = /^\d{6}$/;
return patrn.test(str);
};
//校验合法时间
ChkUtil.isDate = function(str) {
if (!/\d{4}(\.|\/|\-)\d{1,2}(\.|\/|\-)\d{1,2}/.test(str)) {
return false;
}
var r = str.match(/\d{1,4}/g);
if (r == null) {
return false;
};
var d = new Date(r[0], r[1] - 1, r[2]);
return (d.getFullYear() == r[0] && (d.getMonth() + 1) == r[1] && d.getDate() == r[2]);
};
//校验字符串:只能输入6-20个字母、数字、下划线(常用手校验用户名和密码)
ChkUtil.isString6_20 = function(str) {
var patrn = /^(\w){6,20}$/;
return patrn.test(str);
};
//校验字符串组合:只能输入6-20个字母+数字或下划线组合(常用手校验用户名和密码)
ChkUtil.isStringA6_20 = function(str) {
var patrn = /^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i; /*用户名正则*/
return patrn.test(str);
};
//身份证格式
ChkUtil.isCreditCard = function(str) {
var patrn = /^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/;
return patrn.test(str);
};
//是否为空
ChkUtil.isNulCustl = function(str) {
if (str == null || str == '') {
return true;
} else if (typeof(str) != "undefined") {
return true;
} else if (typeof(x) != "object") {
return true;
} else {
return false;
}
};
//身份证格式
ChkUtil.isCardID = function(sId){
var iSum=0 ;
var info="" ;
if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
sId=sId.replace(/x$/i,"a");
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/")) ;
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
if(iSum%11!=1) return "你输入的身份证号非法";
return true;
}
//短时间,形如 (13:04:06)
ChkUtil.isTime = function(str) {
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {
return false
}
if (a[1] > 24 || a[3] > 60 || a[4] > 60) {
return false;
}
return true;
}
//短日期,形如 (2003-12-05)
// ChkUtil.isDate = function(str) {
// var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
// if (r == null) return false;
// var d = new Date(r[1], r[3] - 1, r[4]);
// return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
// }
//长时间,形如 (2003-12-05 13:04:06)
ChkUtil.isDateTime = function(str) {
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if (r == null) return false;
var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
}
vincentSea wechat
一颗稻草的价值,到底是多少呢?想知道的话,就订阅吧!