几个强大且高效的常用正表达式

校验密码强度

字母+数字+特殊符号
^(?=.*[a-zA-Z])(?=.*[1-9])(?=.*[\W]).{6,}$


匹配手机号

^1[3456789]\d{9}$


检验Email

[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?


验证字符串只能是中文

^[\u4e00-\u9fa5]{0,}$


匹配Url

(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]


匹配身份证号

十八位:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

十五位:^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$

( ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)


验证日期(年-月-日)

([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))


匹配正浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$


匹配负浮点数

^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$


匹配正整数

^[1-9]\d*$


匹配负整数

^-[1-9]\d*$



匹配 IPv4  可以改成IPv6

((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}


匹配颜色

#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?\b

两个正则的结果一样的
#([a-f0-9]{3}){1,2}\b/i   这个要忽略大小写


匹配图片url

(?<=<img[^<]+\ssrc=("|'|&quot;)).*?(?=("|'|&quot;).*?\/?>)/g
\ssrc 这个是为了匹配懒加载图片


匹配背景图

(?<=(background|border)(-image)?\s*\:\s*url\(('|"|&quot;)?)\s*[^"'\s]+?\s*(?=("|'|&quot;)?\s*\))/g


包括背景图 内容中图片的所有图片

((?<=<img[^<]+\ssrc=("|'|&quot;)).*?(?=("|'|&quot;).*?\/?>))|((?<=(background|border)(-image)?\s*\:\s*url\(('|"|&quot;)?)\s*[^"'\s]+?\s*(?=("|'|&quot;)?\s*\)))/g


最后来个简单的匹配所有的html标签

<[^<>]+>/g


(?!)  正则里的一个“语法结构”,表示“规定后面不是”

(?=) 语法结构在正则里表示“设定后面是”的意思。


(?=.*[a-zA-Z])  表示后面必须有一位大写或小写字母


(?=.*[1-9]) 表示后面必须有一位数字


(?=.*[\W]) 表示后面必须有一个非字母数字及下划线的特殊符号


(?![0-9]+$)  表示后面不能为纯数字


(?![a-z]+$)  表示后面不能为纯小写字母


(?![A-Z]+$)  表示后面不能为纯大写字母


(?!([^(0-9a-zA-Z)])+$) 表示后面不能为除数字和字母外的纯特殊符号


^ 这个符号单独用表示“开头”,用在中括号的开头,表示“非”


.{6,}  表示至少6位的任意字符


$ 表示“结尾”


Tags javascript 建站

留言(0)

评论