邮箱正则: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]替换.便可。
断言
零宽断言的意思的零宽度的断言