1. 程式人生 > >正則表示式(基礎)

正則表示式(基礎)

^: 1)放某字元前面,表示以什麼開頭(如:^a,表示以a開頭的所有字串)

  2)在方括號裡用'^'表示不希望出現的字元,'^'應在方括號裡的第一位。(如:%[^a-zA-Z]% ,表示兩個百分號中不應該出現字母)

$:放某字元後面,表示以什麼結尾

 

*:放某字元後面,表示沒有或更多,還可以用重複次數的範圍表示:* 相當於{0,}

+:放某字元後面,表示一次或更多,還可以用重複次數的範圍表示:+ 相當於{1,}

?:放某字元後面,表示沒有或一次,還可以用重複次數的範圍表示: ?相當於{0,1}

():表示接連,例如:(a¦b)*c,表示一串a b混合的字串後面跟一個c;

¦ :放兩字元中間,表示“或”

. :可替代任何字元

[ ] 中的內容是可選字符集

 

 ^.$()¦*+?{\ 表示本身時,在需要這些字元前加上轉義移字元 \,但是在方括號中,不需要轉義字元

 

\d:用於匹配從0到9的數字

\w:用於匹配字母,數字或下劃線字元

 

應用:

"^\d+$"  //非負整數(正整數 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整數

"^((-\d+)|(0+))$"  //非正整數(負整數 + 0)

"^-[0-9]*[1-9][0-9]*$"  //負整數

^-?\d+$    //整數

^\d+(\.\d+)?$  //非負浮點數(正浮點數 + 0)

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //正浮點數

^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //非正浮點數(負浮點數 + 0)

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //負浮點數

^(-?\d+)(\.\d+)?$  //浮點數

^[A-Za-z]+$  //由26個英文字母組成的字串

^[A-Z]+$  //由26個英文字母的大寫組成的字串

^[a-z]+$  //由26個英文字母的小寫組成的字串

^[A-Za-z0-9]+$ //由數字和26個英文字母組成的字串

^\w+$  //由數字、26個英文字母或者下劃線組成的字串

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //email地址

^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //url

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/  // 年-月-日

/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/  // 月/日/年

^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$   //Emil

(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?  //電話號碼

^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址 ^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址

^[-+]?\d+(\.\d+)?$  //值型別正則表示式

 

javascript正則表示式檢驗:

//校驗是否全由數字組成

function isDigit(s)

{ var patrn=/^[0-9]{1,20}$/;

if (!patrn.exec(s)return false

return true }