正則表達式

對象:
內置對象:Array Function Date Math String Number RegExp Boolean ...
宿主對象:DOM BOM
自定義對象
------------------
RegExp:正則對象 (Regular Expression)
由普通字符和特殊字符構成的文字模式,該文字模式是用來檢測當前字符串是否符合你的這套文字模式
是一種強大的字符串匹配工具,如輸入驗證等場景正則表達式

一 定義正則對象
var reg=new RegExp("正則表達式","修飾符");---構造函數語法
var reg=/正則表達式/修飾符;---直接量語法函數

二 修飾符
i 不區分大小寫
g 全局匹配
/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
三 正則表達式的構成
1 元字符
\w:匹配數字字母下劃線
\W:匹配非數字字母下劃線
\d:匹配數字
\D:匹配非數字
\s:匹配空白字符
\S:匹配非空白字符
. :匹配換行和行結束符之外的任意字符
^ :匹配字符串開始
$ :匹配字符串的結束
\n:匹配換行符工具

2 方括號:用於查找某個範圍內的字符
[]:匹配[]中羅列的單個字符
[abc]
[\u4e00-\u9fa5]
[a-z]
[A-Z]
[0-9]<===>\d
[a-z0-9_]<===>\w /\w/i /[a-z0-9_]/i new RegExp("[a-z0-9_]","i")
[^]:匹配除了[]當中羅列的字符覺得的單個字符 [^abc] [^a-c]對象

3 限定符(量詞):用來描述字符出現的次數
? :匹配0個或1個
+ :匹配1個或多個
{n}:匹配n個 /\d{5}/ /[0-9]{5}/
{m,n}:匹配至少m個可是不能超過n個 /\d{6,10}/
{m,}:匹配至少m個 + <===> {1,}字符串

4 分組和選擇
() :分組 abcabcabc (abc){3}
| :選擇 aba abb aab bab aaa bbb... (a|b){3} string

aabbbb aaaaaa bbbbbb bbaabb ... ((aa)|(bb)){3}io

6-18個字符構成,能夠使用字母數字下劃線,可是必須以字母開頭
{6,18} \w ^[a-z]
/^[a-zA-Z]\w{5,17}$/ /^[a-z]\w{5,17}$/itest

手機號:
1 3/5/7/8
/^1[3578]\d{9}$/email

email:
sakjdakjd @ zhcfdh . com
\w+ @ [a-z]+ [.]或者\. (com)
/^\w+@[a-z]+\.(com)$/i構造函數

------------------------------------------

四 經常使用正則表達式的String對象的方法

String.search(reg):檢測與正則表達式相匹配的值,若是找到返回匹配的位置不然返回-1

String.match(reg):找到一個或多個正則表達式的匹配,返回的是一個集合

String.replace(reg):替換與正則表達式匹配的子字符串

正則表達式在匹配的時候有一個特性:貪婪

五 RegExp對象的方法RegExp.test(string):用於對某個字符串進行檢測,若是符合正則表達式的一個匹配結果則返回true,不然就返回false只要字符串當中有一部分知足正則的話就返回true,因此在書寫正則的時候必需要加上(^$)

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息