郵箱正則:java
var regex = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;spa
* 移動號碼段:13九、13八、13七、13六、13五、13四、150、15一、15二、15七、15八、15九、18二、18三、18七、18八、147
* 聯通號碼段:130、13一、13二、13六、18五、18六、145
* 電信號碼段:13三、15三、180、189
code
var regex =
"^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$"
;
.點 匹配除"\n"和"\r"以外的任何單個字符。要匹配包括"\n"和"\r"在內的任何字符,請使用像"[\s\S]"的模式ci
(?:pattern) 非獲取匹配 匹配但不獲取匹配結果,不進行供之後使用 例如「industr(?:y|ies)」就是一個比「industry|industries」更簡略的表達式。(?!pattern) 非獲取匹配 正向否認預查 例如「Windows(?!95|98|NT|2000)」能匹配「Windows3.1」中的「Windows」string
(?<=pattern) 非獲取匹配 反向確定預查 「(?<=95|98|NT|2000)Windows」能匹配「2000Windows」中的「Windows」it
(?<!patte_n) 非獲取匹配 反向否認預查 class
斷言擴展
環視:sso
環視主要有如下4個用法: 語法
(?<=exp) 匹配前面是exp的數據
(?<!exp) 匹配前面不是exp的數據
(?=exp) 匹配後面是exp的數據
(?!exp) 匹配後面不是exp的數據
需求:字母、數字組合,不區分大小寫,不能純數字或者純字母,6-16個字符。
通用正則:^[a-z0-9]{6,16}$ 字母數字組合,6-16個字符
排除純字母:(?!^[a-z]+$)
排除純數字:(?!^[0-9]+$)
組合起來:(?!^[a-z]+$)(?!^[0-9]+$)^[a-z0-9]{6,16}$
需求:字母、數字組合,不區分大小寫,不能純數字或者純字母,6-16個字符。
通用正則:^[a-z0-9]{6,16}$ 字母數字組合,6-16個字符
排除純字母:(?!^[a-z]+$)
排除出數字:(?!^[0-9]+$)
組合起來:(?!^[a-z]+$)(?!^[0-9]+$)^[a-z0-9]{6,16}$
附: js不支持(?<=exp) 和 (?<!exp) 語法
最後留下一句至尊提醒:.是萬能字符,你們看着用,遇到換行使用[\s\S]替換.便可。
斷言
零寬斷言的意思的零寬度的斷言