最常用的20个正则表达式,亲测可用!

来源:互联网 发布:黄金时代知乎 编辑:程序博客网 时间:2024/05/21 06:42

以下为20个最常用的正则表达式,大部分都是自己写的,亲测通过!


其中URL正则表达式经过验证,符合URL标准,网上其他各种版本都有缺陷的地方。


举个例子,错误的URL为:https://rege.|x#?101.co@m


用网上的版本校验通过:




用我写的版本校验不通过:




欢迎大家去在线正则表达式网站regex101 https://regex101.com 在线验证下。


数字:
^-?\d+(\.\d+)?$

正数:
^([1-9]\d*(\.\d+)?|(0\.(0+[1-9]+|[1-9]\d*)))$

非负数:
^\d+(\.\d+)?$

负数:
^-([1-9]\d*(\.\d+)?|(0\.(0+[1-9]+|[1-9]\d*)))$

非正数:
^(-\d+(\.\d+)?|0)$

整数:
^-?\d+$

正整数:
^[1-9]\d*$

非负整数:
^\d+$

负整数:
^-[1-9]\d*$

非正整数:
^(-[1-9]\d*|0)$

中文:
^[\u4e00-\u9fa5]+$

中文及标点符号:
^([\u4e00-\u9fa5\u3002\uff1f\uff01\uff0c\u3001\uff1b\uff1a\u201c\u201d\u2018\u2019\uff08\uff09\u300a\u300b\u3008\u3009\u3010\u3011\u300e\u300f\u300c\u300d\ufe43\ufe44\u3014\u3015\u2026\u2014\uff5e\ufe4f\uffe5])+$

URL:
^((ht|f)tp(s)?|file):\/\/[-\w]+((\.[-\w]+)+)?((\/[-\w]+)+)?(\.[a-zA-Z]+)?(\/)?((\?[a-zA-Z]+[0-9a-zA-Z_]*\=[-\w]+)((&[a-zA-Z]+[0-9a-zA-Z_]*\=[-\w]+)+)?)?$

邮箱地址:
^[-\w]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$

手机号码:
^(13\d|14[57]|15[^4\D]|17[13678]|18\d)\d{8}|170[0589]\d{7}$

身份证号:
^\d{17}[0-9Xx]$

日期(年-月-日):
^(([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]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$

时间(时:分:秒):
^([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d$

IP地址:
^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}$

密码校验(必须包含数字、小写字母、大写字母和特殊字符,至少8位):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[`\-=\[\];'\\,\.\/~!@#\$%\^&\*\(\)_\+\{\}:"\|<>\?])[\da-zA-Z`\-=\[\];'\\,\.\/~!@#\$%\^&\*\(\)_\+\{\}:"\|<>\?]{8,}$