RegExp正規表示式

2021-07-06 10:50:35 字數 2207 閱讀 5199

什麼是 regexp?

regexp 是正規表示式的縮寫。

當您檢索某個文字時,可以使用一種模式來描述要檢索的內容。regexp 就是這種模式。

簡單的模式可以是乙個單獨的字元。

更複雜的模式包括了更多的字元,並可用於解析、格式檢查、替換等等。

您可以規定字串中的檢索位置,以及要檢索的字元型別,等等。

var letter = new

regexp("d") // 將搜尋字元e

regexp 物件有 3 個方法:test()、exec() 以及 compile()

test() 方法檢索字串中的指定值。返回值是 true 或 false。

var s1 = new

regexp("what");

var string1 = "what mean";

console.log( s1.test(string1) ) //true

exec() 方法檢索字串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。

var s2 =new

regexp

"mean";

var s3 ="hehe"

var string2="what mean";

alert( s2.exec(string2) ) // mean

alert( s3.exec(string2) ) // null

寫乙個驗證**號碼的正則

var inputval= $("input").val()

$("button").click(function

() $/.test(inputval)))

})

解釋**:

重點在 ^1[3|4|5|8] [0-9]\d$

^1代表以1開頭,現在中國的手機號沒有是其它開頭的;

[3|4|5|8] 緊跟上面的1後面,可以是3或4或5或8的乙個數字,如果以後出現190開始的手機號碼了,就需要如下[3|4|5|8|9] ;

[0-9]表示0-9中間的任何數字,可以是0或9 ;

\d 這個\d跟[0-9]意思一樣,都是0-9中間的數字。表示匹配前面的最低4位數字最高8位數字。這裡為什麼不是直接的8呢,因為手機號碼歸屬地查詢的時候,根據前7位就可以知道具體的位址了,後面的4位沒有影響的。

\d 代表乙個數字

例如:1或2或3,單個數字

如果是多個可以用\d*

\d 代表7-8位數字(表示**號碼)

例如:12345678

表示7位或9位數字,一般**號碼符合。

\d 代表分機號碼

例如:123,12345

表示最低3個數字,可以更多

0\d 代表區號

例如:021

[0+]\d 代表國際區號

如果使用減號連線,完整的應該是

/^(([0+]\d-)?(0\d)-)?(\d)(-(\d))?$/

正規表示式直接量定義在兩個斜槓之間 

var
執行這段**將建立乙個正則物件,並將其賦值給  , 這個物件用來匹配所有以字母 s 結尾的字串。

下面來講正則的字元

正規表示式中有好多標點符號,當然他們是具有特殊意義的。

比如^ $ . * + ? = ? : | \ / { }( )

如果想在正則中古是用他們,需要在前面加上乙個反斜線 

對字元進行轉義。

其他標點符號沒有特殊含義,比如 

@  ""
就可以按照字面意思進行匹配。

如果不記得哪些標點符號需要加反斜線進行轉義,可以在每乙個標點符號前面加上反斜線。

對於想按照直接量進行匹配的字母 數字,盡量不要使用反斜線。因為會有特殊含義。

比如,正規表示式 「 / \\ / 」 用來匹配任何包含反斜線的字串。 

正規表示式 RegExp()

字串處理 split 分割字串 charat 0 提取某個字元 substring 1,5 獲取字串 search a 返回位子,否則 1 正規表示式 字串匹配工具 str.match d g 所有匹配以陣列的形式返回 風格 風格 var re new regexp a var str abcdef...

正規表示式REGEXP

正規表示式 regular expression,regexp 元字元 匹配任意單個字元 匹配指定範圍內的任意單個字元 匹配指定範圍外的任意單個字元 字元集合 digit lower upper punct space alpha alnum 匹配次數 貪婪模式 匹配其前面的字元任意次 a,b,ab...

RegExp 正規表示式

regexp 即 正規表示式 問題 因為要將頁面的值傳到後端,所以要先進行編碼 因為資料編碼後會變成 25e7 2 所以頁面值中如果已經包含特殊字元,會導致資料編碼異常,所以需要正規表示式規則進行輸入字元限制 案例 function checkreg id document.getelementby...