匹配特定數字
[html]view plain
copy
^[1-9]\d*$ //匹配正整數
^-[1-9]\d*$ //匹配負整數
^-?[1-9]\d*$ //匹配整數
^[1-9]\d*|0$ //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點數(負浮點數 + 0)
匹配特定字串
[html]view plain
copy
^[a-za-z]+$ //匹配由26個英文本母組成的字串
^[a-z]+$ //匹配由26個英文本母的大寫組成的字串
^[a-z]+$ //匹配由26個英文本母的小寫組成的字串
^[a-za-z0-9]+$ //匹配由數字和26個英文本母組成的字串
^\w+$ //匹配由數字、26個英文本母或者下劃線組成的字串
評注:最基本也是最常用的一些表示式
以及如下:
[html]view plain
copy
//校驗是否全由數字組成
function isdigit(s)
$/;
if (!patrn.exec(s)) return false
return true
}
//校驗登入名:只能輸入5-20個以字母開頭、可帶數字、「_」、「.」的字串
function isregisterusername(s)
([a-za-z0-9]|[._])$/;
if (!patrn.exec(s)) return false
return true
}
//校驗使用者姓名:只能輸入1-30個以字母開頭的字串
function istruename(s)
$/;
if (!patrn.exec(s)) return false
return true
}
}}
//校驗密碼:只能輸入6-20個字母、數字、下劃線
function ispasswd(s)
$/;
if (!patrn.exec(s)) return false
return true
}
1、正規表示式可以:
• 測試字串的某個模式。例如,可以對乙個輸入字串進行測試,看在該字串是否存在乙個**號碼模式或乙個信用卡號碼模式。這稱為資料有效性驗證
• 替換文字。可以在文件中使用乙個正規表示式來標識特定文字,然後可以全部將其刪除,或者替換為別的文字
• 根據模式匹配從字串中提取乙個子字串。可以用來在文字或輸入欄位中查詢特定文字
2、正規表示式語法
乙個正規表示式就是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為
乙個模板,將某個字元模式與所搜尋的字串進行匹配。
3、普通字元
字母、數字、漢字、下劃線、以及後邊章節中沒有特殊定義的標點符號,都是"普通字元"。表示式中的普通字元,在匹配乙個字串的時候,匹配與之相同的乙個字元。
4、特殊字元
\ 做為轉意,即通常在"\"後面的字元不按原來意**釋,如/b/匹配字元"b",當b前面加了反斜桿後/\b/,轉意為匹配乙個單詞的邊界。 對正規表示式功能字元的還原,如"*"匹配
它前面元字元0次或多次,/a*/將匹配a,aa,aaa,加了"\"後,/a\*/將只匹配"a*"。
正規表示式為我們提供了幾個常用的預定義類來匹配常見的字元
字元等價類含義.
[^\n\r]
除了回車符和換行符之外的所有字元
\d[0-9]
數字字元
\d[^0-9]
非數字字元
\s[ \t\n\x0b\f\r]
空白符\s
[^ \t\n\x0b\f\r]
非空白符
\w[a-za-z_0-9]
單詞字元(字母、數字、下劃線)
\w[^a-za-z_0-9]
非單詞字元
一些在後邊章節中有特殊用處的標點符號,在前面加 "\" 後,就代表該符號本身。比如:^, $ 都有特殊意義,如果要想匹配字串中 "^" 和 "$" 字元,則表示式就需要寫成 "\^" 和 "\$"。
5、重複字元匹配
字元匹配
匹配前一項至少n次,但不能超過m次
匹配前一項n次或更多次
匹配前一項n次
?匹配前一項0次或者1次,也就是說前一項是可選的,等價於
+匹配前一項1次或多次,等價於
*匹配前一項0次或多次,等價於
6、字元類:錨字元 匹配
元字元/元符號匹配$
匹配字串的結尾,在多行檢索中,匹配一行的結尾
^匹配字串的開頭,在多行檢索中,匹配一行的開頭
\a只有匹配字串開始處
\b匹配單詞邊界,詞在 內時無效
\b匹配非單詞邊界
\g匹配當前搜尋的開始位置
\z匹配字串結束處或行尾
\z只匹配字串結束處
1)定義正規表示式有兩種形式,一種是普通方式,一種是建構函式方式。
2)普通方式:var reg=/表示式/附加引數
表示式:乙個字串,代表了某種規則,其中可以使用某些特殊字元,來代表特殊的規則,後面會詳細說明。
附加引數:用來擴充套件表示式的含義,目前主要有三個引數:
g:代表可以進行全域性匹配。
i:代表不區分大小寫匹配。
m:代表可以進行多行匹配。
上面三個引數,可以任意組合,代表復合含義,當然也可以不加引數。
例子:var reg=/a*b/;
var reg=/abc+f/g;
3)建構函式方式:var reg=new regexp(「表示式」,」附加引數」);
其中「表示式」與「附加引數」的含義與上面那種定義方式中的含義相同。
例子var reg=new regexp(「a*b」);
var reg=new regexp(「abc+f」,」g」);
4)普通方式與建構函式方式的區別
普通方式中的表示式必須是乙個常量字串,而建構函式中的表示式可以是常量字串,也可以是乙個js變數,例如根據使用者的輸入來作為表示式引數等等:
var reg=new regexp(document.forms[0].exprfiled.value,」g」);
Javascript正規表示式
這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...
JavaScript 正規表示式
一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...
javascript 正規表示式
正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...