[Javascript]常用正則表達式及驗證| Ting I 的程式碼集中營- 點部落

文章推薦指數: 80 %
投票人數:10人

正規表示式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE)是使用單個字串來描述、符合一系列符合某個句法規則的字串。

正規表示式(英語:RegularExpression,在代碼中常簡寫為regex、regexp或RE)是使用單個字串來描述、符合一系列符合某個句法規則的字串。

在很多文字編輯器裡,正則運算式通常被用來檢索、替換那些符合某個模式的文字。

僅限數字的驗證: varregex=/^[0-9\s]*$/; if(!regex.test("123"))  alert(“這是數字”); else  alert(“格式錯誤”); 僅限英文及數字的驗證: varregex=newRegExp("^[a-zA-Z0-9]+$"); if(!regex.test("1qaz2wsx"))  alert("這是英文及數字混合字串"); else  alert("格式錯誤"); 欄位不可為空的驗證(全形及半形都不行) if(!$.trim($("#SCHOOL").val().replace(/\ /g,""))){   alert("學校欄位不可為空"); } 密碼原則的驗證: passwordValidator=function(text){   varpasswordregex8digits=newRegExp("^(?=.{8,})"); //最少八個位元   varpasswordregexLowercase=newRegExp("^(?=.*[a-z])");  //英文小寫     varpasswordregexUppercase=newRegExp("^(?=.*[A-Z])");  //英文大小     varpasswordregexNumber=newRegExp("^(?=.*[0-9])");  //數字     varpasswordRegexSpecial=newRegExp("^(?=.*[!@#$%^&*])");  //特殊字元     if(!passwordregex8digits.test(text)){       violate_count++;     }     if(!passwordregexLowercase.test(text)){       violate_count++;     }    if(!passwordregexUppercase.test(text)){      violate_count++;    }        if(!passwordregexNumber.test(text)){       violate_count++;     }    if(!passwordRegexSpecial.test(text)){      violate_count++;    }     alert('違規次數:'+violate_count); } 電子郵件格式的驗證: emailValidator=function(inputData){  constre=/^(([.](?=[^.]|^))|[\w_%{|}#$~`+!?-])+@(?:[\w-]+\.)+[a-zA-Z.]{2,63}$/;  if(re.test(inputData))  {   alert("這是合法的EMAIL");  }    else{   alert("請輸入符合格式的EMAIL");  }  } 身分證字號格式的驗證: functioncheckTwID(id){   //建立字母分數陣列(A~Z)   varcity=newArray(1,10,19,28,37,46,55,64,39,73,82,2,11,20,48,29,38,47,56,65,74,83,21,3,12,30)   id=id.toUpperCase();   //使用「正規表達式」檢驗格式   if(id.search(/^[A-Z](1|2)\d{8}$/i)==-1){     returnfalse;   }else{     //將字串分割為陣列(IE必需這麼做才不會出錯)     id=id.split('');     //計算總分     vartotal=city[id[0].charCodeAt(0)-65];     for(vari=1;i<=8;i++){       total+=eval(id[i])*(9-i);     }     //補上檢查碼(最後一碼)     total+=eval(id[9]);     //檢查比對碼(餘數應為0);     return((total%10==0));   } }   RegularExpressionregexJavascript 回首頁



請為這篇文章評分?