正则表达式常用备忘

整理了开发中高频使用的正则匹配模式。

数字

整数 匹配纯数字
/^\d+$/
正数 不包含0
/^[1-9]\d*$/
浮点数 匹配小数
/^-?\d+(\.\d+)?$/

文本

中文字符 匹配汉字
/[\u4e00-\u9fa5]/
双字节字符 匹配全角字符
/[^\x00-\xff]/
空白行 匹配空行
/\n\s*\r/
HTML标签 简单的标签匹配
/<(\/?\w+)[^>]*>/

网络

Email 验证邮箱
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
URL 带协议的网址
/^https?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/
IPv4 IP地址
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
域名 不带协议的域名
/^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/

安全

强密码 8位+大小写+数字+特殊字符
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
Base64 验证Base64编码
/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/
JWT 验证JWT结构
/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/

开发

16进制颜色 颜色值如 #fff
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
UUID 标准UUID
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/
MAC地址 网卡物理地址
/^([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$/
端口号 0-65535
/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/

校验

手机号 中国大陆手机
/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
身份证 中国居民身份证
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
日期 YYYY-MM-DD
/^\d{4}-\d{1,2}-\d{1,2}$/
车牌号 普通/新能源车牌
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4,5}[A-Z0-9挂学警港澳]{1}$/