javaScript正規表示式1

2021-07-06 07:25:15 字數 3677 閱讀 7391

匹配特定數字

[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...