正則表達式的概述
正則表達式(Regular Expression)是一個描述字符模式的對象, 用于對字符串進行匹配, 一般用在有規(guī)律的字符串匹配中;常用于表單驗證以及相關(guān)的字符串匹配
正則對象的聲明
1.使用//來聲明(常用的)
var regx = /a/ //表示匹配a
//字符串支持正則的方法 replace split search match
var str = 'abcdef'
console.log(str.match(regx));
regx = /a/i
console.log('ABC'.match(regx));
2.使用new關(guān)鍵詞來聲明
//使用new關(guān)鍵詞 參數(shù)一是匹配的對應(yīng)的正則表達式 參數(shù)二模式
//i表示不區(qū)分大小寫 g表示全局搜索
var regx1 = new RegExp('a','i')
var str1 = 'ABC'
console.log(str1.match(regx1));
模式修飾
g 全局搜索
i 不區(qū)分大小寫
m 換行模式
正則匹配的元字符
[] 表示里面任意的一個元素
^ 表示開頭
$ 表示結(jié)尾
{} 表示個數(shù)
var regx2 = /[a-z]{6}/ //表示6個小寫的字母
regx2 = /[a-z]{0}/ //表示0個字母
regx2 = /[a-z]{1,3}/ //表示1個到3個
regx2 = /[a-z]{1,}/ //表示1個到無窮個
{n} 表示n個
{n,m} 表示n個到m個
{n,} 表示n個到無窮個
+ 表示一個到多個 {1,}
* 表示0個到多個 {0,}
? 表示0個到一個 {0,1}
. 表示所有的內(nèi)容(包括中文字符)
\w 表示對應(yīng)的字母數(shù)字下滑線 \W 就是相反的 不是字母數(shù)字下滑線
\d 表示數(shù)字 \D表示非數(shù)字
\s 表示空白字符串(回車 制表 空格) \S就是相反的 不是空白字符
() 分組
| 或者
轉(zhuǎn)義 \
//匹配 ? * + .等元字符 轉(zhuǎn)義\
var regx10 = /^[?]$/
console.log('?'.match(regx10));
var regx10 = /^[*]$/
console.log('*'.match(regx10));
//用轉(zhuǎn)義字符來
var regx10 = /^\*$/
console.log('*'.match(regx10));
var regx10 = /^\.$/
console.log('.'.match(regx10));
正則的檢測方法
test 測試 返回一個boolean類型值(是否匹配)
var regx = /\w/
console.log(regx.test('abc')) //true
exec 執(zhí)行 返回給你一個對應(yīng)的匹配的數(shù)組(如果有就返回一個數(shù)組)
var regx = /\d/
console.log(regx.exec('123')) //[1,2,3]
字符串支持正則的4個方法
- split 切割
- replace 替換
- search 查找
- macth 匹配