JavaScript验证表单函数大全
1
2
/*
3
用途:校验ip地址的格式
4
输入:strIP:ip地址
5
返回:如果通过验证返回true,否则返回false;
6
7
*/
8
function isIP(strIP) {
9
if (isNull(strIP)) return false;
10
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
11
if(re.test(strIP))
12
{
13
if( RegExp.$1 <256 & RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
14
}
15
return false;
16
}
17
18
/*
19
用途:检查输入字符串是否为空或者全部都是空格
20
输入:str
21
返回:
22
如果全是空返回true,否则返回false
23
*/
24
function isNull( str ){
25
if ( str == "" ) return true;
26
var regu = "^[ ]+$";
27
var re = new RegExp(regu);
28
return re.test(str);
29
}
30
31
32
/*
33
用途:检查输入对象的值是否符合整数格式
34
输入:str 输入的字符串
35
返回:如果通过验证返回true,否则返回false
36
37
*/
38
function isInteger( str ){
39
var regu = /^[-]{0,1}[0-9]{1,}$/;
40
return regu.test(str);
41
}
42
43
/*
44
用途:检查输入手机号码是否正确
45
输入:
46
s:字符串
47
返回:
48
如果通过验证返回true,否则返回false
49
50
*/
51
function checkMobile( s ){
52
var regu =/^[1][3][0-9]{9}$/;
53
var re = new RegExp(regu);
54
if (re.test(s)) {
55
return true;
56
}else{
57
return false;
58
}
59
}
60
61
62
/*
63
用途:检查输入字符串是否符合正整数格式
64
输入:
65
s:字符串
66
返回:
67
如果通过验证返回true,否则返回false
68
69
*/
70
function isNumber( s ){
71
var regu = "^[0-9]+$";
72
var re = new RegExp(regu);
73
if (s.search(re) != -1) {
74
return true;
75
} else {
76
return false;
77
}
78
}
79
80
/*
81
用途:检查输入字符串是否是带小数的数字格式,可以是负数
82
输入:
83
s:字符串
84
返回:
85
如果通过验证返回true,否则返回false
86
87
*/
88
function isDecimal( str ){
89
if(isInteger(str)) return true;
90
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
91
if (re.test(str)) {
92
if(RegExp.$1==0&RegExp.$2==0) return false;
93
return true;
94
} else {
95
return false;
96
}
97
}
98
99
/*
100
用途:检查输入对象的值是否符合端口号格式
101
输入:str 输入的字符串
102
返回:如果通过验证返回true,否则返回false
103
104
*/
105
function isPort( str ){
106
return (isNumber(str) & str<65536);
107
}
108
109
/*
110
用途:检查输入对象的值是否符合E-Mail格式
111
输入:str 输入的字符串
112
返回:如果通过验证返回true,否则返回false
113
114
*/
115
function isEmail( str ){
116
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
117
if(myReg.test(str)) return true;
118
return false;
119
}
120
121
/*
122
用途:检查输入字符串是否符合金额格式
123
格式定义为带小数的正数,小数点后最多三位
124
输入:
125
s:字符串
126
返回:
127
如果通过验证返回true,否则返回false
128
129
*/
130
function isMoney( s ){
131
var regu = "^[0-9]+[\.][0-9]{0,3}$";
132
var re = new RegExp(regu);
133
if (re.test(s)) {
134
return true;
135
} else {
136
return false;
137
}
138
}
139
/*
140
用途:检查输入字符串是否只由英文字母和数字和下划线组成
141
输入:
142
s:字符串
143
返回:
144
如果通过验证返回true,否则返回false
145
146
*/
147
function isNumberOr_Letter( s ){//判断是否是数字或字母
148
149
var regu = "^[0-9a-zA-Z\_]+$";
150
var re = new RegExp(regu);
151
if (re.test(s)) {
152
return true;
153
}else{
154
return false;
155
}
156
}
157
/*
158
用途:检查输入字符串是否只由英文字母和数字组成
159
输入:
160
s:字符串
161
返回:
162
如果通过验证返回true,否则返回false
163
164
*/
165
function isNumberOrLetter( s ){//判断是否是数字或字母
166
167
var regu = "^[0-9a-zA-Z]+$";
168
var re = new RegExp(regu);
169
if (re.test(s)) {
170
return true;
171
}else{
172
return false;
173
}
174
}
175
/*
176
用途:检查输入字符串是否只由汉字、字母、数字组成
177
输入:
178
value:字符串
179
返回:
180
如果通过验证返回true,否则返回false
181
182
*/
183
function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成
184
185
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
186
var re = new RegExp(regu);
187
if (re.test(s)) {
188
return true;
189
}else{
190
return false;
191
}
192
}
193
194
/*
195
用途:判断是否是日期
196
输入:date:日期;fmt:日期格式
197
返回:如果通过验证返回true,否则返回false
198
*/
199
function isDate( date, fmt ) {
200
if (fmt==null) fmt="yyyyMMdd";
201
var yIndex = fmt.indexOf("yyyy");
202
if(yIndex==-1) return false;
203
var year = date.substring(yIndex,yIndex+4);
204
var mIndex = fmt.indexOf("MM");
205
if(mIndex==-1) return false;
206
var month = date.substring(mIndex,mIndex+2);
207
var dIndex = fmt.indexOf("dd");
208
if(dIndex==-1) return false;
209
var day = date.substring(dIndex,dIndex+2);
210
if(!isNumber(year)||year>"2100" || year< "1900") return false;
211
if(!isNumber(month)||month>"12" || month< "01") return false;
212
if(day>getMaxDay(year,month) || day< "01") return false;
213
return true;
214
}
215
216
function getMaxDay(year,month) {
217
if(month==4||month==6||month==9||month==11)
218
return "30";
219
if(month==2)
220
if(year%4==0&year%100!=0 || year%400==0)
221
return "29";
222
else
223
return "28";
224
return "31";
225
}
226
227
/*
228
用途:字符1是否以字符串2结束
229
输入:str1:字符串;str2:被包含的字符串
230
返回:如果通过验证返回true,否则返回false
231
232
*/
233
function isLastMatch(str1,str2)
234
{
235
var index = str1.lastIndexOf(str2);
236
if(str1.length==index+str2.length) return true;
237
return false;
238
}
239
240
241
/*
242
用途:字符1是否以字符串2开始
243
输入:str1:字符串;str2:被包含的字符串
244
返回:如果通过验证返回true,否则返回false
245
246
*/
247
function isFirstMatch(str1,str2)
248
{
249
var index = str1.indexOf(str2);
250
if(index==0) return true;
251
return false;
252
}
253
254
/*
255
用途:字符1是包含字符串2
256
输入:str1:字符串;str2:被包含的字符串
257
返回:如果通过验证返回true,否则返回false
258
259
*/
260
function isMatch(str1,str2)
261
{
262
var index = str1.indexOf(str2);
263
if(index==-1) return false;
264
return true;
265
}
266
267
268
/*
269
用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,
270
且结束如期>=起始日期
271
输入:
272
startDate:起始日期,字符串
273
endDate:结束如期,字符串
274
返回:
275
如果通过验证返回true,否则返回false
276
277
*/
278
function checkTwoDate( startDate,endDate ) {
279
if( !isDate(startDate) ) {
280
alert("起始日期不正确!");
281
return false;
282
} else if( !isDate(endDate) ) {
283
alert("终止日期不正确!");
284
return false;
285
} else if( startDate > endDate ) {
286
alert("起始日期不能大于终止日期!");
287
return false;
288
}
289
return true;
290
}
291
292
/*
293
用途:检查输入的Email信箱格式是否正确
294
输入:
295
strEmail:字符串
296
返回:
297
如果通过验证返回true,否则返回false
298
299
*/
300
function checkEmail(strEmail) {
301
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
302
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
303
if( emailReg.test(strEmail) ){
304
return true;
305
}else{
306
alert("您输入的Email地址格式不正确!");
307
return false;
308
}
309
}
310
311
/*
312
用途:检查输入的电话号码格式是否正确
313
输入:
314
strPhone:字符串
315
返回:
316
如果通过验证返回true,否则返回false
317
318
*/
319
function checkPhone( strPhone ) {
320
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
321
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
322
var prompt = "您输入的电话号码不正确!"
323
if( strPhone.length > 9 ) {
324
if( phoneRegWithArea.test(strPhone) ){
325
return true;
326
}else{
327
alert( prompt );
328
return false;
329
}
330
}else{
331
if( phoneRegNoArea.test( strPhone ) ){
332
return true;
333
}else{
334
alert( prompt );
335
return false;
336
}
337
}
338
}

2
/* 3
用途:校验ip地址的格式 4
输入:strIP:ip地址 5
返回:如果通过验证返回true,否则返回false; 6

7
*/ 8
function isIP(strIP) { 9
if (isNull(strIP)) return false; 10
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式 11
if(re.test(strIP)) 12
{ 13
if( RegExp.$1 <256 & RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true; 14
} 15
return false; 16
} 17

18
/* 19
用途:检查输入字符串是否为空或者全部都是空格 20
输入:str 21
返回: 22
如果全是空返回true,否则返回false 23
*/ 24
function isNull( str ){ 25
if ( str == "" ) return true; 26
var regu = "^[ ]+$"; 27
var re = new RegExp(regu); 28
return re.test(str); 29
} 30

31

32
/* 33
用途:检查输入对象的值是否符合整数格式 34
输入:str 输入的字符串 35
返回:如果通过验证返回true,否则返回false 36

37
*/ 38
function isInteger( str ){ 39
var regu = /^[-]{0,1}[0-9]{1,}$/; 40
return regu.test(str); 41
} 42

43
/* 44
用途:检查输入手机号码是否正确 45
输入: 46
s:字符串 47
返回: 48
如果通过验证返回true,否则返回false 49

50
*/ 51
function checkMobile( s ){ 52
var regu =/^[1][3][0-9]{9}$/; 53
var re = new RegExp(regu); 54
if (re.test(s)) { 55
return true; 56
}else{ 57
return false; 58
} 59
} 60

61

62
/* 63
用途:检查输入字符串是否符合正整数格式 64
输入: 65
s:字符串 66
返回: 67
如果通过验证返回true,否则返回false 68

69
*/ 70
function isNumber( s ){ 71
var regu = "^[0-9]+$"; 72
var re = new RegExp(regu); 73
if (s.search(re) != -1) { 74
return true; 75
} else { 76
return false; 77
} 78
} 79

80
/* 81
用途:检查输入字符串是否是带小数的数字格式,可以是负数 82
输入: 83
s:字符串 84
返回: 85
如果通过验证返回true,否则返回false 86

87
*/ 88
function isDecimal( str ){ 89
if(isInteger(str)) return true; 90
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; 91
if (re.test(str)) { 92
if(RegExp.$1==0&RegExp.$2==0) return false; 93
return true; 94
} else { 95
return false; 96
} 97
} 98

99
/* 100
用途:检查输入对象的值是否符合端口号格式 101
输入:str 输入的字符串 102
返回:如果通过验证返回true,否则返回false 103

104
*/ 105
function isPort( str ){ 106
return (isNumber(str) & str<65536); 107
} 108

109
/* 110
用途:检查输入对象的值是否符合E-Mail格式 111
输入:str 输入的字符串 112
返回:如果通过验证返回true,否则返回false 113

114
*/ 115
function isEmail( str ){ 116
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; 117
if(myReg.test(str)) return true; 118
return false; 119
} 120

121
/* 122
用途:检查输入字符串是否符合金额格式 123
格式定义为带小数的正数,小数点后最多三位 124
输入: 125
s:字符串 126
返回: 127
如果通过验证返回true,否则返回false 128

129
*/ 130
function isMoney( s ){ 131
var regu = "^[0-9]+[\.][0-9]{0,3}$"; 132
var re = new RegExp(regu); 133
if (re.test(s)) { 134
return true; 135
} else { 136
return false; 137
} 138
} 139
/* 140
用途:检查输入字符串是否只由英文字母和数字和下划线组成 141
输入: 142
s:字符串 143
返回: 144
如果通过验证返回true,否则返回false 145

146
*/ 147
function isNumberOr_Letter( s ){//判断是否是数字或字母 148

149
var regu = "^[0-9a-zA-Z\_]+$"; 150
var re = new RegExp(regu); 151
if (re.test(s)) { 152
return true; 153
}else{ 154
return false; 155
} 156
} 157
/* 158
用途:检查输入字符串是否只由英文字母和数字组成 159
输入: 160
s:字符串 161
返回: 162
如果通过验证返回true,否则返回false 163

164
*/ 165
function isNumberOrLetter( s ){//判断是否是数字或字母 166

167
var regu = "^[0-9a-zA-Z]+$"; 168
var re = new RegExp(regu); 169
if (re.test(s)) { 170
return true; 171
}else{ 172
return false; 173
} 174
} 175
/* 176
用途:检查输入字符串是否只由汉字、字母、数字组成 177
输入: 178
value:字符串 179
返回: 180
如果通过验证返回true,否则返回false 181

182
*/ 183
function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成 184

185
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; 186
var re = new RegExp(regu); 187
if (re.test(s)) { 188
return true; 189
}else{ 190
return false; 191
} 192
} 193

194
/* 195
用途:判断是否是日期 196
输入:date:日期;fmt:日期格式 197
返回:如果通过验证返回true,否则返回false 198
*/ 199
function isDate( date, fmt ) { 200
if (fmt==null) fmt="yyyyMMdd"; 201
var yIndex = fmt.indexOf("yyyy"); 202
if(yIndex==-1) return false; 203
var year = date.substring(yIndex,yIndex+4); 204
var mIndex = fmt.indexOf("MM"); 205
if(mIndex==-1) return false; 206
var month = date.substring(mIndex,mIndex+2); 207
var dIndex = fmt.indexOf("dd"); 208
if(dIndex==-1) return false; 209
var day = date.substring(dIndex,dIndex+2); 210
if(!isNumber(year)||year>"2100" || year< "1900") return false; 211
if(!isNumber(month)||month>"12" || month< "01") return false; 212
if(day>getMaxDay(year,month) || day< "01") return false; 213
return true; 214
} 215

216
function getMaxDay(year,month) { 217
if(month==4||month==6||month==9||month==11) 218
return "30"; 219
if(month==2) 220
if(year%4==0&year%100!=0 || year%400==0) 221
return "29"; 222
else 223
return "28"; 224
return "31"; 225
} 226

227
/* 228
用途:字符1是否以字符串2结束 229
输入:str1:字符串;str2:被包含的字符串 230
返回:如果通过验证返回true,否则返回false 231

232
*/ 233
function isLastMatch(str1,str2) 234
{ 235
var index = str1.lastIndexOf(str2); 236
if(str1.length==index+str2.length) return true; 237
return false; 238
} 239

240

241
/* 242
用途:字符1是否以字符串2开始 243
输入:str1:字符串;str2:被包含的字符串 244
返回:如果通过验证返回true,否则返回false 245

246
*/ 247
function isFirstMatch(str1,str2) 248
{ 249
var index = str1.indexOf(str2); 250
if(index==0) return true; 251
return false; 252
} 253

254
/* 255
用途:字符1是包含字符串2 256
输入:str1:字符串;str2:被包含的字符串 257
返回:如果通过验证返回true,否则返回false 258

259
*/ 260
function isMatch(str1,str2) 261
{ 262
var index = str1.indexOf(str2); 263
if(index==-1) return false; 264
return true; 265
} 266

267

268
/* 269
用途:检查输入的起止日期是否正确,规则为两个日期的格式正确, 270
且结束如期>=起始日期 271
输入: 272
startDate:起始日期,字符串 273
endDate:结束如期,字符串 274
返回: 275
如果通过验证返回true,否则返回false 276

277
*/ 278
function checkTwoDate( startDate,endDate ) { 279
if( !isDate(startDate) ) { 280
alert("起始日期不正确!"); 281
return false; 282
} else if( !isDate(endDate) ) { 283
alert("终止日期不正确!"); 284
return false; 285
} else if( startDate > endDate ) { 286
alert("起始日期不能大于终止日期!"); 287
return false; 288
} 289
return true; 290
} 291

292
/* 293
用途:检查输入的Email信箱格式是否正确 294
输入: 295
strEmail:字符串 296
返回: 297
如果通过验证返回true,否则返回false 298

299
*/ 300
function checkEmail(strEmail) { 301
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 302
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 303
if( emailReg.test(strEmail) ){ 304
return true; 305
}else{ 306
alert("您输入的Email地址格式不正确!"); 307
return false; 308
} 309
}310

311
/*312
用途:检查输入的电话号码格式是否正确313
输入:314
strPhone:字符串315
返回:316
如果通过验证返回true,否则返回false317

318
*/319
function checkPhone( strPhone ) { 320
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; 321
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 322
var prompt = "您输入的电话号码不正确!"323
if( strPhone.length > 9 ) {324
if( phoneRegWithArea.test(strPhone) ){325
return true; 326
}else{327
alert( prompt );328
return false; 329
}330
}else{331
if( phoneRegNoArea.test( strPhone ) ){332
return true; 333
}else{334
alert( prompt );335
return false; 336
}337
}338
}




浙公网安备 33010602011771号