正則表達式

前言

這個學起來不難,倒是很容易忘記??干脆寫一次記錄下來,方便以后查閱

什么是正則表達式

能讓計算機讀懂的字符串匹配規(guī)則

寫法

var re=new RegExp('規(guī)則', '可選參數(shù)');例如:

var str = "lyichao";
var patt1 = /^[a-z]+$/;
document.write(str.match(patt1));
//輸出結果:lyichao

規(guī)則中的字符

普通字符匹配

如:/a/匹配字符‘a’,/a,b/ 匹配字符‘a,b’

轉義字符匹配

字符 含義
\d 匹配一個數(shù)字,即0-9
\D 匹配一個非數(shù)字,即除了0-9
\w 匹配一個單詞字符(字母、數(shù)字、下劃線)
\W 匹配任何非單詞字符。等價于[^A-Za-z0-9_]
\s 匹配一個空白符
\S 匹配一個非空白符
\b 匹配單詞邊界
\B 匹配非單詞邊界
. 匹配一個任意字符,除了換行符\n和回車符\r
\1 重復子項

量詞

量詞 含義
? 出現(xiàn)零次或一次(最多出現(xiàn)一次)
+ 出現(xiàn)一次或多次(至少出現(xiàn)一次)
* 出現(xiàn)零次或多次(任意次)
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{n,} 至少出現(xiàn)n次

任意一個范圍

范圍 含義
[abc123] 匹配‘abc123’中的任意一個字符
[a-z0-9] 匹配a到z或者0到9中的任意一個字符

限制開頭結尾

限定符 含義
^ 以緊挨的元素開頭
$ 以緊挨的元素結尾

常用函數(shù)

  • test

    用法:正則.test(字符串) 匹配成功,就返回真,否則就返回假

  • search

    用法:字符串.search(正則) 匹配成功,返回位置,否則返回-1

  • match

    用法: 字符串.match(正則);匹配成功,就返回匹配成功的數(shù)組,否則就返回null

  • replace

    用法:字符串.replace(正則,新的字符串) 匹配成功的字符去替換新的字符

常用表達式

表達式 含義
^[a-z0-9_-]{5,15}$ 用戶名(限制小寫字母、數(shù)字和下劃線,長度為6-15位)
^[A-Za-z0-9_\W]{6,}$ 密碼(允許大小寫字母、數(shù)字和下劃線,長度限制至少6位)
^[a-z0-9_]{6,18}\@[a-z0-9]{2,}\.[a-z0-9]{2,}$ 郵箱(登錄名允許使用6-18位字母、數(shù)字或下劃線,主機名限制為小寫字母和數(shù)字,域名限制為小寫字母)
^[1][3-9][0-9]\d{8} 國內11位手機號碼
^\d{17}[X\d]{1}$ 18位身份證
^[1-9]\d*$ 正整數(shù)
^-[1-9]\d*$ 負整數(shù)
^-?[1-9]\d*$ 整數(shù)

^\d{4}\-(0?[1-9]|1?[0-2])\-(0?[1-9]|1?[0-9]|2?[0-9]|3?[0-1])$ 年-月-日

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容