正則表示式(基礎)
^: 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 }