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>
相關文章
相關標籤/搜索