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

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

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

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

用网上的版本校验通过:

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

欢迎大家去在线正则表达式网站regex101 regex101: build, test, and debug regex 在线验证下。

数字:
^-?\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:
^https?:\/\/(?:(?:(?:[a-zA-Z0-9._%+-]+)(?::(?:[a-zA-Z0-9._%+-]+))?@)?(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}|(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d))|\[(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\])(?::(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}))?(?:\/(?:[\p{L}\p{N}\-._~!$&'()*+,;=:@\/]|%[0-9a-fA-F]{2})*)*(?:\?([a-zA-Z0-9\-._~!$&'()*+,;=:@]|%[0-9a-fA-F]{2})*)?(?:#(?:[\p{L}\p{N}\-._~!$&'()*+,;=:@\/?]|%[0-9a-fA-F]{2})*)?$
邮箱地址:
^[-\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,}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值