建立正規表示式
var reg = /abc/;
var reg = new regexp('abc');
正規表示式的方法
exec():
reg.exec(str)
其中str為要執行正規表示式 的字串,該方法會返回乙個陣列,其中第一位為在str中匹配出的字串,index為匹配出的字串首次出現的位置。
test():
reg.test(str)
str同樣為要執行正規表示式的字串,該方法會判斷str中是否有符合正規表示式的字串,如果有返回true,否則返回false。
正規表示式引數
i (ignore) 忽略大小寫
g (global) 全域性匹配
m (multiline) 多行匹配
表示式
1. [abc]
查詢方括號之間的任意字元,匹配的為單個字元,可以為方括號中的任意乙個。
方括號中的也可以為乙個範圍,比如[a-za-z0-9],這樣代表匹配所有字母以及數字
[^abc]
查詢不再方括號範圍內的字元,注意^的位置,是在方括號裡面,是取反的意思。
2. ()
括號的作用是提高優先順序以及產生子表示式
3. |
或表示式,和功能差不多,可以配合()來使用
元字元
1. .(點) /./
可以匹配出除了換行符(\n)和行結束符 (\r) 之外的所有字元
2. \w
該元字元可以匹配單詞字元,即a-za-z0-9_
注意:該符號可以匹配下劃線
3. \w
匹配除了\w可以匹配的其他字元
4. \d
匹配數字字元,即0-9
5. \d
匹配除了數字字元其他的其他字元
6. \s
匹配空白字元
空白字元包括:空格符、製表符(\t)、回車符(\r),換行符(\n),垂直換行符(\v)、換頁符(\f)
7. \s
查詢非空白字元,即除了\s包括的空白字元之外的其他字元。
我們如果要匹配任意字元的話,就可以搭配起來使用了:
[\s\s]、[\d\d]、[\w\w]等都可以
8. \b
匹配單詞邊界, 只有在單詞的開頭位置才會匹配
9. \b
匹配非單詞邊界, 匹配非單詞邊界中的字元
注意: 漢字本身就是乙個單詞,每個漢字兩邊預設含有單詞邊界
量詞
以下的n代表乙個變數,可以為表示式或者元字元
1. n+
匹配至少乙個變數n
2. n*
匹配至少0個變數n
3. n?
匹配0-1個變數n
4. n
規定匹配x個變數n,大括號可以為乙個區間,使用,隔開,比如匹配1-4個,如果區間不寫第二個則可以無限匹配,這裡預設為貪婪匹配,盡可能多的匹配。
如果{}?,在大括號後面新增乙個?則變為最小匹配,
5. n$
匹配以n結尾的字元
6. ^n
匹配以n開頭的字元
注: 小括號可以作為子表示式來引用
例:匹配***x
/(\w)\1\1\1|(\w)\2\2\2/
其中()內為子表示式,\1為反向引用一次第乙個子表示式,如需多次引用則新增多個,其中1代表第乙個子表示式,以此類推第二個為2。
字串常用方法
str.replace()
第乙個引數為正規表示式,第二個引數為要替換的內容
例:將形如xxyy的內容進行反轉替換成為yyxx
let reg = /(\w)\1(\w)\2/
let str = 'aacc'
str.replace(reg, $2$2$1$1)
這裡replace的第二個引數也可以反向引用正規表示式的子表示式內容,使用$來引用,也可以為乙個函式
str.replace(reg, function ($, $1, $2) )
正向預查:?=n ?!n為反向,即不為n
例: 找出後面是b的a(這裡b作為判斷條件,但實際上查的為a)
let reg = /a(?=b)/
常用正規表示式
1. 取出字串結尾的數字
const reg = /\d+$/g;
const str = 'ass340';
const number = reg.exec(str)[0]; //"340"
2.固定**正則
/\d-\d(-\d)?$/
區號 **號碼 分機號(非必填)
3. 手機號正則
/^(0*|86|17951)?(13\d|15\d|166|17[3678]|18\d|14[57])\d$/
忽略0及86、17951
未完待續,持續更新中。。。
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...