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>