天天看點

常用正規表達式

注:

/^ 和 $/成對使用應該是表示要求整個字元串完全比對定義的規則,而不是隻比對字元串中的一個子串。

解釋幾個重要的符号  *  +  ? 

^代表:比對輸入字元串的開始位置,除非在方括号表達式中使用,此時它表示不接受該字元集合。要比對 ^ 字元本身,請使用 \^

$代表:比對輸入字元串的結尾位置。如果設定了 RegExp 對象的 Multiline 屬性,則 $ 也比對 '\n' 或 '\r'。要比對身,請使用 \$。

*代表:0次或者多次 

+代表:1次或者多次  

?代表:0次或者1次 

//驗證金錢,允許整數或者兩位小數

var reg =/^\d+(\.\d{2})?$/; 

//隻能用中文

var reg =/^[\u4E00-\u9FA5]$/; 

//隻能輸入5位數字

var reg =/^[0-9]{5,5}$/;

//隻能用中文 1-5個字元

var reg =/^[\u4E00-\u9FA5]{1,5}$/; 

//隻能用大寫英文2-5個字元

var reg =/^[A-Z]{2,5}$/;

//隻能輸入數字和特殊字元- 11-12位。

var reg =/^[0-9 -]{11,12}$/; 

//隻能用中文、英文 1-20個字元

var reg = /^[\u4e00-\u9fa5a-zA-Z]{1,20}$/ ;

//隻能用中文、英文、數字和特殊字元.-  1-20個字元

var reg = /^[\u4e00-\u9fa5a-zA-Z0-9.-]{1,20}$/ ; 

//5-20個以字母開頭的字元 可含數字和特殊字元_

var reg = /^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){4,19}$/;

//隻能用中文、英文和特殊字元. · 不能同時為中英文。

/^(?!\s+$)[\u4E00-\u9FA0.·]+$|^[a-z.·]+$/i 

//手機号

var reg = /^0*(13|14|15|17|18)\d{9}$/;

//郵箱

var reg = /^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+

\.[a-zA-Z]{2,3}$/;

js組合運用:

例1:普通固話或者400、800電話或者5位數号碼(例:10086、95599)

isPhone = /^((0\d{2,3})-)(\d{7,8})$/.test(tel); //普通固話

is400=/^\d{3}-\d{3,4}-\d{3,4}$/.test(tel);//400、800固話。400-888-6666 或 400-6666-888

is5 =/^[0-9]{5,5}$/.test(tel);//5五位數号碼,例:10086、95599

if (isPhone||is400||is5) {  }

本文轉自 藝晨光 51CTO部落格,原文連結:http://blog.51cto.com/ycgit/1617301,如需轉載請自行聯系原作者

繼續閱讀