常用Javascript验证方法

常用Java验证方法:

  2 
  3 /**
  4 
  5  * 检测复选框和单选框是否已被选中
  6 
  7  *
  8 
  9  * @param ItemObj
 10 
 11  * @return
 12 
 13  */
 14 
 15 function isChecked1(ItemObj) {
 16 
 17       for ( var i = 0; i < ItemObj.length; i++) {
 18 
 19             if (ItemObj[i].checked) {
 20 
 21                   alert(ItemObj[i].value);
 22 
 23                   return true;
 24 
 25             }
 26 
 27             return false;
 28 
 29       }
 30 
 31 }
 32 
 33  
 34 
 35 /**
 36 
 37  * 检测多选框是否已被选中
 38 
 39  *
 40 
 41  * @param ItemObj
 42 
 43  * @return
 44 
 45  */
 46 
 47 function isChecked2(ItemObj) {
 48 
 49       alert("ddd");
 50 
 51       for ( var i = 0; i < ItemObj.length; i++) {
 52 
 53             if (ItemObj[i].selected) {
 54 
 55                   alert(ItemObj[i].value);
 56 
 57                   // return true;
 58 
 59             }
 60 
 61             return false;
 62 
 63       }
 64 
 65 }
 66 
 67  
 68 
 69 /*
 70 
 71  * 用途:检查输入字符串是否为空或者全部都是空格 输入:str 返回: 如果全是空返回true,否则返回false
 72 
 73  */
 74 
 75 function isNull(str) {
 76 
 77       if (str == "")
 78 
 79             return true;
 80 
 81       var regu = "^[ ]+$";
 82 
 83       var re = new RegExp(regu);
 84 
 85       return re.test(str);
 86 
 87 }
 88 
 89  
 90 
 91 /*
 92 
 93  * 用途:判断是否是日期 输入:date:日期;匹配的格式: 2010-5-16
 94 
 95  *
 96 
 97  * 返回:如果通过验证返回true,否则返回false
 98 
 99  */
100 
101  
102 
103 function isDate(str) {
104 
105       if (isNull(str))
106 
107             return false;
108 
109       var r = str.match(/^(\d{4})(-|\/)(\d{1,2})(-|\/)(\d{1,2})$/);
110 
111       if (r == null)
112 
113             return false;
114 
115       var d = new Date(r[1], r[3] - 1, r[5]);
116 
117       return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d
118 
119                   .getDate() == r[5]);
120 
121 }
122 
123  
124 
125 /*
126 
127  * 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
128 
129  */
130 
131 function isNumberOr_Letter(s) {// 判断是否是数字或字母
132 
133       var regu = "^[0-9a-zA-Z\_]+$";
134 
135       var re = new RegExp(regu);
136 
137       if (re.test(s)) {
138 
139             return true;
140 
141       } else {
142 
143             return false;
144 
145       }
146 
147 }
148 
149  
150 
151 /*
152 
153  * 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
154 
155  */
156 
157 function isEmail(str) {
158 
159       var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
160 
161       if (myReg.test(str))
162 
163             return true;
164 
165       return false;
166 
167 }
168 
169  
170 
171 /*
172 
173  * 用途:检查输入手机号码是否正确 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
174 
175  */
176 
177 function checkMobile(s) {
178 
179       var regu = /^[1][0-9][0-9]{9}$/;
180 
181       var re = new RegExp(regu);
182 
183       if (re.test(s)) {
184 
185             return true;
186 
187       } else {
188 
189             return false;
190 
191       }
192 
193 }
194 
195  
196 
197 /*
198 
199  * 用途:检查输入字符串是否是数字 输入: str:字符串 返回: 如果通过验证返回true,否则返回false
200 
201  */
202 
203  
204 
205 function isNumber(str) {
206 
207       var reg = /^\d+$/;
208 
209       if (reg.test(str))
210 
211             return true;
212 
213       else
214 
215             return false;
216 
217 }
218 
219  
220 
221 /*
222 
223  * 用途:检查输入字符串是否符合时间格式 输入: time:字符串 返回: 如果通过验证返回true,否则返回false
224 
225  */
226 
227 function isTime(time) {
228 
229       var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
230 
231       if (!regex.test(time)) {
232 
233             return false;
234 
235       }
236 
237       var hour = time.substring(0, 2);
238 
239       var minute = time.substring(3, 5);
240 
241       var second = time.substring(6);
242 
243       if (hour > 23 || hour < 0) {
244 
245             return false;
246 
247       }
248 
249       if (minute > 60 || minute < 0) {
250 
251             return false;
252 
253       }
254 
255       if (second > 60 || second < 0) {
256 
257             return false;
258 
259       }
260 
261       return true;
262 
263 }
264 
265  
266 
267 /*
268 
269  * 用途:检查输入字符串是否符合正整数格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
270 
271  */
272 
273 function isPNumber(s) {
274 
275       var regu = "^[0-9]+$";
276 
277       var re = new RegExp(regu);
278 
279       if (s.search(re) != -1) {
280 
281             return true;
282 
283       } else {
284 
285             return false;
286 
287       }
288 
289 }
290 
291  
292 
293 /*
294 
295  * 用途:检查输入字符串是否符合国内固话或者传真格式 输入: s:字符串 格式例如:020-87110252 返回:
296 
297  * 如果通过验证返回true,否则返回false
298 
299  */
300 
301  
302 
303 function isTel(s) {
304 
305       var reg = /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
306 
307       if (!reg.test(s))
308 
309             return false
310 
311       return true
312 
313 }
314 
315  
316 
317 /*
318 
319  * 用途:检查输入对象的值是否符合端口号格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
320 
321  */
322 
323 function isPort(str) {
324 
325       return (isNumber(str) && str < 65536);
326 
327 }
328 
329  
330 
331 /*
332 
333  * 用途:检查输入字符串是否符合身份证格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
334 
335  */
336 
337  
338 
339 function isIDno(strIDno) {
340 
341       var aCity = {
342 
343             11 :"北京",
344 
345             12 :"天津",
346 
347             13 :"河北",
348 
349             14 :"山西",
350 
351             15 :"内蒙古",
352 
353             21 :"辽宁",
354 
355             22 :"吉林",
356 
357             23 :"黑龙江",
358 
359             31 :"上海",
360 
361             32 :"江苏",
362 
363             33 :"浙江",
364 
365             34 :"安徽",
366 
367             35 :"福建",
368 
369             36 :"江西",
370 
371             37 :"山东",
372 
373             41 :"河南",
374 
375             42 :"湖北",
376 
377             43 :"湖南",
378 
379             44 :"广东",
380 
381             45 :"广西",
382 
383             46 :"海南",
384 
385             50 :"重庆",
386 
387             51 :"四川",
388 
389             52 :"贵州",
390 
391             53 :"云南",
392 
393             54 :"西藏",
394 
395             61 :"陕西",
396 
397             62 :"甘肃",
398 
399             63 :"青海",
400 
401             64 :"宁夏",
402 
403             65 :"新疆",
404 
405             71 :"台湾",
406 
407             81 :"香港",
408 
409             82 :"澳门",
410 
411             91 :"国外"
412 
413       };
414 
415  
416 
417       var iSum = 0;
418 
419       var info = "";
420 
421       // var strIDno = obj.value;
422 
423       var idCardLength = strIDno.length;
424 
425       if (!/^\d{17}(\d|x)$/i.test(strIDno) && !/^\d{15}$/i.test(strIDno)) {
426 
427             // alert("非法身份证号");
428 
429             return false;
430 
431       }
432 
433  
434 
435       // 在后面的运算中x相当于数字10,所以转换成a
436 
437       strIDno = strIDno.replace(/x$/i, "a");
438 
439  
440 
441       if (aCity[parseInt(strIDno.substr(0, 2))] == null) {
442 
443             // alert("非法地区");
444 
445             return false;
446 
447       }
448 
449  
450 
451       if (idCardLength == 18) {
452 
453             sBirthday = strIDno.substr(6, 4) + "-" + Number(strIDno.substr(10, 2))
454 
455                         + "-" + Number(strIDno.substr(12, 2));
456 
457             var d = new Date(sBirthday.replace(/-/g, "/"))
458 
459             if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d
460 
461                         .getDate())) {
462 
463                   // alert("非法生日");
464 
465                   return false;
466 
467             }
468 
469  
470 
471             for ( var i = 17; i >= 0; i--)
472 
473                   iSum += (Math.pow(2, i) % 11)
474 
475                               * parseInt(strIDno.charAt(17 - i), 11);
476 
477  
478 
479             if (iSum % 11 != 1) {
480 
481                   // alert("非法身份证号");
482 
483                   return false;
484 
485             }
486 
487       } else if (idCardLength == 15) {
488 
489             sBirthday = "19" + strIDno.substr(6, 2) + "-"
490 
491                         + Number(strIDno.substr(8, 2)) + "-"
492 
493                         + Number(strIDno.substr(10, 2));
494 
495             var d = new Date(sBirthday.replace(/-/g, "/"))
496 
497             var dd = d.getFullYear().toString() + "-" + (d.getMonth() + 1) + "-"
498 
499                         + d.getDate();
500 
501             if (sBirthday != dd) {
502 
503                   // alert("非法生日");
504 
505                   return false;
506 
507             }
508 
509       }
510 
511       return true;
512 
513 }
514 
515  
516 
517 /*
518 
519  * 用途:检查输入字符串是否符合邮政编码格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
520 
521  */
522 
523  
524 
525 function isZipcode(str) {
526 
527       var reg = /^\d+$/;
528 
529       if (!reg.test(str))
530 
531             return false;
532 
533       if (str.length != 6) {
534 
535             // alert("邮政编码长度必须是6位");
536 
537             return false;
538 
539       }
540 
541       return true;
542 
543 }
544 
545  
546 
547 /*
548 
549  * 用途:检查输入字符串是否符合金额格式 格式定义为带小数的正数,小数点后最多三位 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
550 
551  */
552 
553 function isMoney(s) {
554 
555       var regu = "^[0-9]+[\.][0-9]{0,3}$";
556 
557       var re = new RegExp(regu);
558 
559       if (re.test(s)) {
560 
561             return true;
562 
563       } else {
564 
565             return false;
566 
567       }
568 
569 }
570 
571  
572 
573 /*
574 
575  * 用途:检查输入字符串是否只由汉字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
576 
577  */
578 
579  
580 
581 function isZh(str) {
582 
583       var reg = /^[\u4e00-\u9fa5]+$/;
584 
585       if (reg.test(str))
586 
587             return true;
588 
589       return false;
590 
591 }
592 
593  
594 
595 /*
596 
597  * 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
598 
599  */
600 
601 function isInteger(str) {
602 
603       var regu = /^[-]{0,1}[0-9]{1,}$/;
604 
605       return regu.test(str);
606 
607 }
608 
609  
610 
611 /*
612 
613  * 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false;
614 
615  */
616 
617 function isIP(strIP) {
618 
619       if (isNull(strIP))
620 
621             return false;
622 
623       var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g // 匹配IP地址的正则表达式
624 
625       if (re.test(strIP)) {
626 
627             if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256
628 
629                         && RegExp.$4 < 256)
630 
631                   return true;
632 
633       }
634 
635       return false;
636 
637 }
638 
639  
640 
641 /*
642 
643  * 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
644 
645  */
646 
647 function isChinaOrNumbOrLett(s) {// 判断是否是汉字、字母、数字组成
648 
649       var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
650 
651       var re = new RegExp(regu);
652 
653       if (re.test(s)) {
654 
655             return true;
656 
657       } else {
658 
659             return false;
660 
661       }
662 
663 }
664 
665  
666 
667 /*
668 
669  * 用途:检查输入字符串是否只由英文字母和数字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
670 
671  */
672 
673 function isNumberOrLetter(s) {// 判断是否是数字或字母
674 
675       var regu = "^[0-9a-zA-Z]+$";
676 
677       var re = new RegExp(regu);
678 
679       if (re.test(s)) {
680 
681             return true;
682 
683       } else {
684 
685             return false;
686 
687       }
688 
689 }
690 
691    

 

posted @ 2011-12-15 11:08  tcy1209  Views(385)  Comments(0)    收藏  举报