自己编写使用过的以及网络搜集整理的正则表达式备份,只在java中测试过,其余可参考,欢迎讨论、指正。
匹配数字(包含负数、小数):
^[-+]?[0-9]+[.]?[0-9]+$
匹配网页中图片链接(图片格式可修改、添加):
(?<=<img.{0,1024}src=\")(https?)://.*?[.](jpe?g|png|gif)
匹配不是纯数字和纯字母且需要8位以上的密码
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$
匹配年月日(除2月不正常)如:2018-08-08 2018 08 08 2018/08/08 2018,08,08
\d{4}.?(((0[13578]|1[02]).?(0[1-9]|([12]\d)|3[0-1]).?)|(02.?([01]\d|2[0-8]))|((0[469]|11).?([0-2]\d|30)))(?=\s|\|)
匹配IP地址
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
匹配手机号码:
^1(([38]\d)|(4[57])|(5[0-35-9])|66|(7[0135-8])|(9[89]))\d{8}$
匹配的手机号码段包括:
130-139,145、147,150-153,155-159
166,170-171,173,175-178,180-189,198-199
匹配文本
\s*[一-龥\w]*\s*
身份证正则(18位,含19xx、20xx、21xx年及相应2月29)
^[1-9][0-7]\d{4}(((19|20|21)\d{2}(((0[13578]|1[02])(0[1-9]|([12]\d)|3[0-1]))|(02([01]\d|2[0-8]))|((0[469]|11)([0-2]\d|30))))|(((19(09|17|28|47))|(20(04|23|42|99))|(21(37|86)))0229))\d{3}(\d|X|x)$
密码:字母、数字、符号(_-+*.,!@# 符号可自定义)三选二
^(?![0-9]+$)(?![a-zA-Z]+$)(?![_\-*+.,!@#]+$)[0-9a-zA-Z_\-+*.,!@#]{8,20}$
密码:必须包含大写、小写、数字、符号(_-+*.,!@# 符号可自定义)四种
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[_\-*+.,!@#])[0-9a-zA-Z_\-+*.,!@#]{8,20}$
插真眼
待续...