正則表達(dá)式婆排,是一個描述字符模式的對象
元字符
[ ] 表示匹配到括號里面的一項(xiàng)即可粪滤,例如[abc]可以匹配'a' || 'b' || ‘c’;
內(nèi)部以 ^ 開頭表示 取反忆嗜,例如[^abc],可以匹配到任意非abc的字符州胳;
. 可以匹配到任意字符衷笋,除了換行符(\n)和行結(jié)束符(\r)客峭,等價于[^\n\r];
\d 可以匹配到任意一個數(shù)字豫领,等價于[0-9];
\D 可以匹配到任意一個非數(shù)字字符,等價于[^0-9];
\w 可以匹配到任意單字字符舔琅,等價于[a-zA-Z0-9_]
\W 可以匹配到任意非單字字符等恐,等價于[^a-zA-Z0-9_]
\s 表示任何空白字符串,等價于[‘’空格\t水平制表\n換行\(zhòng)r回車\f換頁\v垂直制表]
\S 表示任何非空白字符串备蚓,等價于[^‘’空格\t水平制表\n換行\(zhòng)r回車\f換頁\v垂直制表]
\b 匹配單詞邊界
test() :在字符串中查找符合正則的內(nèi)容课蔬,若查找到返回true,反之返回false.
var regEap = /\bw/;
console.log(regEap.test("hello word"))//true
exec 查找并返回當(dāng)前的匹配結(jié)果,并以數(shù)組的形式返回郊尝,未匹配到則返回null
var regExp = /a+/;//至少含有一個字符a
console.log(regExp.exec("hello wordaaaa"));
search() :在字符串搜索符合正則的內(nèi)容二跋,搜索到就返回出現(xiàn)的位置(從0開始,如果匹配的不只是一個字母流昏,那只會返回第一個字母的位置)扎即, 如果搜索失敗就返回 -1
var str = 'abcdef';
var re = new RegExp('B','i');
alert( str.search(re) ); // 1
match() 在字符串中搜索復(fù)合規(guī)則的內(nèi)容,搜索成功就返回內(nèi)容横缔,格式為數(shù)組铺遂,失敗就返回null。
var str = "hello wordaaaa"
console.log(str.match(regExp));
replace() :查找符合正則的字符串茎刚,就替換成對應(yīng)的字符串襟锐。返回替換后的內(nèi)容。
var str = "子圓膛锭,你今天有點(diǎn)亢奮啊粮坞,子圓";
str = str.replace(/子圓/g,"志遠(yuǎn)");
console.log(str);
定位符
^ 表示字符串的開始位置
$ 表示字符串的結(jié)尾位置
量詞
+ 表示一個或多個蚊荣,等價于{1,}
* 表示0到多個莫杈,等價于{0,}
? 表示0或者1個互例,等價于{0,1}
{m,n} 表示m到n個,包括m個和n個
{m} 表示m個
m, 表示大于等于m個
修飾符
i 忽略大小寫
m 多行文本
g 全局
() 的用處筝闹,一個表示整體媳叨,李哥作用是表示反向引用的順序
手機(jī)號碼的正則匹配實(shí)例
var regExp = /^1[3-8]\d{9}$/
var str = ("17612909082");
var res = regExp.test(str)
console.log(res)//true