跳至主要內容

常用正则表达式收集

星火燎原@vxhly大约 2 分钟webJavaScriptCode

前言

收集日常开发中经常用到的一些正则表达式(PS:又一次的懒人速养记)。

数字字母组合

要求

必须包含数字和字母方能过正则验证

/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/;

身份证号

要求

验证 18 位身份证号, 末尾的 X 为大写

/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;

大陆的手机号

要求

验证 11 位的大陆手机号码

/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/;

Email 邮箱地址

要求

Email 的规则: name@domain
name 最长 64, domain 最长 253, 总长最长 256
name 可以使用任意 ASCII 字符:
大小写英文字母 a-z, A-Z
数字 0-9
字符 !#$%&'*+-/=?^_`{|}~
字符 . 不能是第一个和最后一个, 不能连续出现两次
但是有些邮件服务器会拒绝包含有特殊字符的邮件地址
domain 仅限于 26 个英文字母、10 个数字、连词号-
连词号-不能是第一个字符
顶级域名(com、cn 等)长度为 2 到 6 个

/^([\w-_]+(?:\.[\w-_]+)*)@((?:[a-z0-9]+(?:-[a-zA-Z0-9]+)*)+\.[a-z]{2,6})$/i;

中国的邮政编码

要求

验证 6 位中国的邮政编码

/^[0-9]\d{5}(?!\d)$/;

密码强度

要求

必须包含大写字母, 小写字母, 数字, 特殊字符四种中的三种, 长度要求 8 到 30 位

/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,30}$/;

16 进制验证

要求

必须包含 0x , 不区分大小写, 除去 0x 匹配 4 位

/(^0x[a-fA-F0-9]{1,4}$)|(^[+]{0,1}(\d+)$)/;

正整数

要求

验证正整数, 非小数

/^[+]{0,1}(\d+)$/;

URL

要求

验证 URL 地址是否合法

/^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;

协议

要求

验证 URL 的协议是否为 http 或者 https

/^(http?|https)/;

非中文字符

要求

只能是非中文字符 :

::

/^[^\u4e00-\u9fa5]+$/;
打赏
给作者赏一杯咖啡吧
您的支持将是我继续更新下去的动力
微信微信
支付宝支付宝