js表单验证大全

  1 1. 长度限制 
  2 <script> 
  3 function test() 
  4 { 
  5 if(document.a.b.value.length>50) 
  6 { 
  7 alert("不能超过50个字符!"); 
  8 document.a.b.focus(); 
  9 return false; 
 10 } 
 11 } 
 12 </script> 
 13 <form name=a onsubmit="return test()"> 
 14 <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea> 
 15 <input type="submit" name="Submit" value="check"> 
 16 </form> 
 17 
 18 2. 只能是汉字 
 19 <input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')"> 
 20 
 21 3." 只能是英文 
 22 <script language=javascript> 
 23 function onlyEng() 
 24 { 
 25 if(!(event.keyCode>=65&&event.keyCode<=90)) 
 26 event.returnvalue=false; 
 27 } 
 28 </script> 
 29 
 30 <input onkeydown="onlyEng();"> 
 31 
 32 4. 只能是数字 
 33 <script language=javascript> 
 34 function onlyNum() 
 35 { 
 36 if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) 
 37 //考虑小键盘上的数字键 
 38 event.returnvalue=false; 
 39 } 
 40 </script> 
 41 
 42 <input onkeydown="onlyNum();"> 
 43 
 44 5. 只能是英文字符和数字 
 45 <input onkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 
 46 
 47 6. 验证油箱格式 
 48 <SCRIPT LANGUAGE=javascript RUNAT=Server> 
 49 function isEmail(strEmail) { 
 50 if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) 
 51 return true; 
 52 else 
 53 alert("oh"); 
 54 } 
 55 </SCRIPT> 
 56 <input type=text onblur=isEmail(this.value)> 
 57 
 58 7. 屏蔽关键字(这里屏蔽***和****) 
 59 <script language="javascript1.2"> 
 60 function test() { 
 61 if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ 
 62 alert(":)"); 
 63 a.b.focus(); 
 64 return false;} 
 65 } 
 66 </script> 
 67 <form name=a onsubmit="return test()"> 
 68 <input type=text name=b> 
 69 <input type="submit" name="Submit" value="check"> 
 70 </form> 
 71 
 72 8. 两次输入密码是否相同 
 73 <FORM METHOD=POST ACTION=""> 
 74 <input type="password" id="input1"> 
 75 <input type="password" id="input2"> 
 76 <input type="button" value="test" onclick="check()"> 
 77 </FORM> 
 78 <script> 
 79 function check() 
 80 { 
 81 with(document.all){ 
 82 if(input1.value!=input2.value) 
 83 { 
 84 alert("false") 
 85 input1.value = ""; 
 86 input2.value = ""; 
 87 } 
 88 else document.forms[0].submit(); 
 89 } 
 90 } 
 91 </script> 
 92 够了吧 
 93 屏蔽右键 很酷 
 94 oncontextmenu="return false" ondragstart="return false" onselectstart="return false" 
 95 加在body中 
 96 
 97 
 98  99 
100 2.1  表单项不能为空 
101 
102 <script  language="javascript"> 
103 <!-- 
104 function  CheckForm() 
105 {  
106 if  (document.form.name.value.length  ==  0)  {  
107 alert("请输入您姓名!"); 
108 document.form.name.focus(); 
109 return  false; 
110 } 
111 return  true; 
112 } 
113 --> 
114 </script> 
115 
116 2.2  比较两个表单项的值是否相同 
117 
118 <script  language="javascript"> 
119 <!-- 
120 function  CheckForm() 
121 if  (document.form.PWD.value  !=  document.form.PWD_Again.value)  {  
122 alert("您两次输入的密码不一样!请重新输入."); 
123 document.ADDUser.PWD.focus(); 
124 return  false; 
125 } 
126 return  true; 
127 } 
128 --> 
129 </script> 
130 
131 2.3  表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 
132 
133 <script  language="javascript"> 
134 <!-- 
135 function  isNumber(String) 
136 {  
137 var  Letters  =  "1234567890-";  //可以自己增加可输入值 
138 var  i; 
139 var  c; 
140 if(String.charAt(  0  )=='-') 
141 return  false; 
142 if(  String.charAt(  String.length  -  1  )  ==  '-'  ) 
143 return  false; 
144 for(  i  =  0;  i  <  String.length;  i  ++  ) 
145 {  
146 c  =  String.charAt(  i  ); 
147 if  (Letters.indexOf(  c  )  <  0) 
148 return  false; 
149 } 
150 return  true; 
151 } 
152 function  CheckForm() 
153 {  
154 if(!  isNumber(document.form.TEL.value))  {  
155 alert("您的电话号码不合法!"); 
156 document.form.TEL.focus(); 
157 return  false; 
158 } 
159 return  true; 
160 } 
161 --> 
162 </script> 
163 
164 
165 2.4  表单项输入数值/长度限定 
166 
167 <script  language="javascript"> 
168 <!-- 
169 function  CheckForm()  
170 {  
171 if  (document.form.count.value  >  100  ||  document.form.count.value  <  1) 
172 {  
173 alert("输入数值不能小于零大于100!"); 
174 document.form.count.focus(); 
175 return  false; 
176 } 
177 if  (document.form.MESSAGE.value.length<10) 
178 {  
179 alert("输入文字小于10!"); 
180 document.form.MESSAGE.focus(); 
181 return  false; 
182 } 
183 return  true; 
184 } 
185 //--> 
186 </script> 
187 
188 2.5  中文/英文/数字/邮件地址合法性判断 
189 
190 <SCRIPT  LANGUAGE="javascript"> 
191 <!-- 
192 
193 function  isEnglish(name)  //英文值检测 
194 {  
195 if(name.length  ==  0) 
196 return  false; 
197 for(i  =  0;  i  <  name.length;  i++)  {  
198 if(name.charCodeAt(i)  >  128) 
199 return  false; 
200 } 
201 return  true; 
202 } 
203 
204 function  isChinese(name)  //中文值检测 
205 {  
206 if(name.length  ==  0) 
207 return  false; 
208 for(i  =  0;  i  <  name.length;  i++)  {  
209 if(name.charCodeAt(i)  >  128) 
210 return  true; 
211 } 
212 return  false; 
213 } 
214 
215 function  isMail(name)  //  E-mail值检测 
216 {  
217 if(!  isEnglish(name)) 
218 return  false; 
219 i  =  name.indexOf("  at  "); 
220 j  =  name  dot  lastIndexOf("  at  "); 
221 if(i  ==  -1) 
222 return  false; 
223 if(i  !=  j) 
224 return  false; 
225 if(i  ==  name  dot  length) 
226 return  false; 
227 return  true; 
228 } 
229 
230 function  isNumber(name)  //数值检测 
231 {  
232 if(name.length  ==  0) 
233 return  false; 
234 for(i  =  0;  i  <  name.length;  i++)  {  
235 if(name.charAt(i)  <  "0"  ||  name.charAt(i)  >  "9") 
236 return  false; 
237 } 
238 return  true; 
239 } 
240 
241 function  CheckForm() 
242 {  
243 if(!  isMail(form.Email.value))  {  
244 alert("您的电子邮件不合法!"); 
245 form.Email.focus(); 
246 return  false; 
247 } 
248 if(!  isEnglish(form.name.value))  {  
249 alert("英文名不合法!"); 
250 form.name.focus(); 
251 return  false; 
252 } 
253 if(!  isChinese(form.cnname.value))  {  
254 alert("中文名不合法!"); 
255 form.cnname.focus(); 
256 return  false; 
257 } 
258 if(!  isNumber(form.PublicZipCode.value))  {  
259 alert("邮政编码不合法!"); 
260 form.PublicZipCode.focus(); 
261 return  false; 
262 } 
263 return  true; 
264 } 
265 //--> 
266 </SCRIPT> 
267 
268 2.6  限定表单项不能输入的字符 
269 
270 <script  language="javascript"> 
271 <!-- 
272 
273 function  contain(str,charset)//  字符串包含测试函数 
274 {  
275 var  i; 
276 for(i=0;i<charset.length;i++) 
277 if(str.indexOf(charset.charAt(i))>=0) 
278 return  true; 
279 return  false; 
280 } 
281 
282 function  CheckForm() 
283 {  
284 if  ((contain(document.form.NAME.value,  "%\(\)><"))  ||  (contain(document.form.MESSAGE.value,  "%\(\)><"))) 
285 {  
286 alert("输入了非法字符"); 
287 document.form.NAME.focus(); 
288 return  false; 
289 } 
290 return  true; 
291 } 
292 //--> 
293 </script>  
294 
295 1. 检查一段字符串是否全由数字组成       
296 ---------------------------------------       
297 <script language="Javascript"><!--           
298 function checkNum(str){return str.match(/\D/)==null}           
299 alert(checkNum("1232142141"))           
300 alert(checkNum("123214214a1"))           
301 // --></script>         
302       
303 2. 怎么判断是否是字符         
304 ---------------------------------------       
305 if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");          
306 else alert("全是字符");      
307            
308 3. 怎么判断是否含有汉字        
309 ---------------------------------------        
310 if (escape(str).indexOf("%u")!=-1) alert("含有汉字");         
311 else alert("全是字符");           
312     
313 4. 邮箱格式验证    
314 ---------------------------------------      
315 //函数名:chkemail     
316 //功能介绍:检查是否为Email Address     
317 //参数说明:要检查的字符串     
318 //返回值:0:不是 1:是     
319 function chkemail(a)     
320 { var i=a.length;     
321 var temp = a.indexOf('@');     
322 var tempd = a.indexOf('.');     
323 if (temp > 1) {     
324 if ((i-temp) > 3){     
325 if ((i-tempd)>0){     
326 return 1;     
327 }     
328     
329 }     
330 }     
331 return 0;     
332 }     
333     
334 5. 数字格式验证    
335 ---------------------------------------      
336 //函数名:fucCheckNUM     
337 //功能介绍:检查是否为数字     
338 //参数说明:要检查的数字     
339 //返回值:1为是数字,0为不是数字     
340 function fucCheckNUM(NUM)     
341 {     
342 var i,j,strTemp;     
343 strTemp="0123456789";     
344 if ( NUM.length== 0)     
345 return 0     
346 for (i=0;i<NUM.length;i++)     
347 {     
348 j=strTemp.indexOf(NUM.charAt(i));     
349 if (j==-1)     
350 {     
351 //说明有字符不是数字     
352 return 0;     
353 }     
354 }     
355 //说明是数字     
356 return 1;     
357 }     
358     
359 6. 电话号码格式验证    
360 ---------------------------------------      
361 //函数名:fucCheckTEL     
362 //功能介绍:检查是否为电话号码     
363 //参数说明:要检查的字符串     
364 //返回值:1为是合法,0为不合法     
365 function fucCheckTEL(TEL)     
366 {     
367 var i,j,strTemp;     
368 strTemp="0123456789-()# ";     
369 for (i=0;i<TEL.length;i++)     
370 {     
371 j=strTemp.indexOf(TEL.charAt(i));     
372 if (j==-1)     
373 {     
374 //说明有字符不合法     
375 return 0;     
376 }     
377 }     
378 //说明合法     
379 return 1;     
380 }    
381    
382 7. 判断输入是否为中文的函数   
383 ---------------------------------------      
384 function ischinese(s){   
385 var ret=true;   
386 for(var i=0;i<s.length;i++)   
387 ret=ret && (s.charCodeAt(i)>=10000);   
388 return ret;   
389 }    
390    
391 8. 综合的判断用户输入的合法性的函数  
392 ---------------------------------------      
393 <script language="javascript">  
394 //限制输入字符的位数开始  
395 //m是用户输入,n是要限制的位数  
396 function issmall(m,n)  
397 {  
398 if ((m<n) && (m>0))  
399   {  
400   return(false);  
401   }  
402 else  
403 {return(true);}  
404 }  
405   
406 9. 判断密码是否输入一致  
407 ---------------------------------------      
408 function issame(str1,str2)  
409 {  
410 if (str1==str2)  
411 {return(true);}  
412 else  
413 {return(false);}  
414 }  
415   
416 10. 判断用户名是否为数字字母下滑线 
417 ---------------------------------------      
418 function notchinese(str){ 
419 var reg=/[^A-Za-z0-9_]/g 
420     if (reg.test(str)){ 
421     return (false); 
422     }else{ 
423 return(true);    } 
424 } 
425 
426 11. form文本域的通用校验函数 
427 ---------------------------------------      
428 作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。 
429 该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。 
430 
431 使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名 
432 html如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。 
433 如果要检测数字类型数据的话,再把域的id统一为sz. 
434 javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。 
435 
436 程序比较草,只是提供一个思路。抛砖引玉! :) 
437 哦,对了,函数调用方法:< form  onsubmit="return dovalidate()"> 
438 
439 function dovalidate() 
440 { 
441 fm=document.forms[0] //只检测一个form,如果是多个可以改变判断条件 
442     for(i=0;i<fm.length;i++) 
443     {  
444     //检测判断条件,根据类型不同可以修改 
445     if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!="")) 
446     
447          if(fm[i].value="/blog/="")// 
448          { 
449          str_warn1=fm[i].title+"不能为空!"; 
450          alert(str_warn1); 
451         fm[i].focus(); 
452          return false;         
453          } 
454          if(fm[i].id.toUpperCase()=="SZ")//数字校验 
455          { 
456                  if(isNaN(fm[i].value)) 
457                 { str_warn2=fm[i].title+"格式不对"; 
458                 alert(str_warn2); 
459                 fm[i].focus(); 
460                  return false; 
461                  } 
462         } 
463     } 
464     return true; 
465 } 
466 
467 
468 2 >表单提交验证类 
469 
470 
471 2.1 表单项不能为空 
472 
473 <script language="javascript"> 
474 <!-- 
475 function CheckForm() 
476 { 
477 if (document.form.name.value.length == 0) { 
478 alert("请输入您姓名!"); 
479 document.form.name.focus(); 
480 return false; 
481 } 
482 return true; 
483 } 
484 --> 
485 </script> 
486 
487 2.2 比较两个表单项的值是否相同 
488 
489 <script language="javascript"> 
490 <!-- 
491 function CheckForm() 
492 if (document.form.PWD.value != document.form.PWD_Again.value) { 
493 alert("您两次输入的密码不一样!请重新输入."); 
494 document.ADDUser.PWD.focus(); 
495 return false; 
496 } 
497 return true; 
498 } 
499 --> 
500 </script> 
501 
502 2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 
503 
504 <script language="javascript"> 
505 <!-- 
506 function isNumber(String) 
507 { 
508 var Letters = "1234567890-"; //可以自己增加可输入值 
509 var i; 
510 var c; 
511 if(String.charAt( 0 )=='-') 
512 return false; 
513 if( String.charAt( String.length - 1 ) == '-' ) 
514 return false; 
515 for( i = 0; i < String.length; i ++ ) 
516 { 
517 c = String.charAt( i ); 
518 if (Letters.indexOf( c ) < 0) 
519 return false; 
520 } 
521 return true; 
522 } 
523 function CheckForm() 
524 { 
525 if(! isNumber(document.form.TEL.value)) { 
526 alert("您的电话号码不合法!"); 
527 document.form.TEL.focus(); 
528 return false; 
529 } 
530 return true; 
531 } 
532 --> 
533 </script> 
534 
535 
536 2.4 表单项输入数值/长度限定 
537 
538 <script language="javascript"> 
539 <!-- 
540 function CheckForm() 
541 { 
542 if (document.form.count.value > 100 || document.form.count.value < 1) 
543 { 
544 alert("输入数值不能小于零大于100!"); 
545 document.form.count.focus(); 
546 return false; 
547 } 
548 if (document.form.MESSAGE.value.length<10) 
549 { 
550 alert("输入文字小于10!"); 
551 document.form.MESSAGE.focus(); 
552 return false; 
553 } 
554 return true; 
555 } 
556 //--> 
557 </script> 
558 
559 2.5 中文/英文/数字/邮件地址合法性判断 
560 
561 <SCRIPT LANGUAGE="javascript"> 
562 <!-- 
563 
564 function isEnglish(name) //英文值检测 
565 { 
566 if(name.length == 0) 
567 return false; 
568 for(i = 0; i < name.length; i++) { 
569 if(name.charCodeAt(i) > 128) 
570 return false; 
571 } 
572 return true; 
573 } 
574 
575 function isChinese(name) //中文值检测 
576 { 
577 if(name.length == 0) 
578 return false; 
579 for(i = 0; i < name.length; i++) { 
580 if(name.charCodeAt(i) > 128) 
581 return true; 
582 } 
583 return false; 
584 } 
585 
586 function isMail(name) // E-mail值检测 
587 { 
588 if(! isEnglish(name)) 
589 return false; 
590 i = name.indexOf(" at "); 
591 j = name dot lastIndexOf(" at "); 
592 if(i == -1) 
593 return false; 
594 if(i != j) 
595 return false; 
596 if(i == name dot length) 
597 return false; 
598 return true; 
599 } 
600 
601 function isNumber(name) //数值检测 
602 { 
603 if(name.length == 0) 
604 return false; 
605 for(i = 0; i < name.length; i++) { 
606 if(name.charAt(i) < "0" || name.charAt(i) > "9") 
607 return false; 
608 } 
609 return true; 
610 } 
611 
612 function CheckForm() 
613 { 
614 if(! isMail(form.Email.value)) { 
615 alert("您的电子邮件不合法!"); 
616 form.Email.focus(); 
617 return false; 
618 } 
619 if(! isEnglish(form.name.value)) { 
620 alert("英文名不合法!"); 
621 form.name.focus(); 
622 return false; 
623 } 
624 if(! isChinese(form.cnname.value)) { 
625 alert("中文名不合法!"); 
626 form.cnname.focus(); 
627 return false; 
628 } 
629 if(! isNumber(form.PublicZipCode.value)) { 
630 alert("邮政编码不合法!"); 
631 form.PublicZipCode.focus(); 
632 return false; 
633 } 
634 return true; 
635 } 
636 //--> 
637 </SCRIPT> 
638 
639 2.6 限定表单项不能输入的字符 
640 
641 <script language="javascript"> 
642 <!-- 
643 
644 function contain(str,charset)// 字符串包含测试函数 
645 { 
646 var i; 
647 for(i=0;i<charset.length;i++) 
648 if(str.indexOf(charset.charAt(i))>=0) 
649 return true; 
650 return false; 
651 } 
652 
653 function CheckForm() 
654 { 
655 if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><"))) 
656 { 
657 alert("输入了非法字符"); 
658 document.form.NAME.focus(); 
659 return false; 
660 } 
661 return true; 
662 } 
663 //--> 
664 </script>

 

posted @ 2013-11-21 11:27  梦飞无颜  阅读(377)  评论(0编辑  收藏  举报