常用正则表达式

在此之前,先介绍个在线测试正则表达式的网站:

纯数字

/^[0-9]+$/ 

纯字母

/^[a-zA-Z]+$/

字母加数字

/^[a-zA-Z0-9]+$/

邮箱

// 任意邮箱
/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/ 

// 163邮箱
/^[a-zA_Z_0-9]{4,20}@163\.com$/ 

// 多个指定邮箱
/^[a-zA_Z_0-9]{4,20}@(163|qq)\.com$/ 

密码

// 以字母开头,长度在6~18之间,只能包含字母、数字和下划线
/^[a-zA-Z]\w{5,17}$/

// 必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$/

// 必须包含 1 个小写字母、1 个大写字母、1 个数字、1 个唯一字符,如 !@#$%^&? 并且长度至少为 6 个字符。
/^.*(?=.{6,})(?=.*d)(?=.*[AZ])(?=.*[az])(?=.*[!@#$%^ &*? ]).*$/

日期:(MM/DD/YYYY)/(MM-DD-YYYY)/(MM.DD.YYYY)/(MM DD YYYY)

/^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2}$/

网址

/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A -Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((? :\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]* ))?)/

域名

/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?/

HTML标签

/<(\S*?)[^>]*>.*?</\1>|<.*? />/

座机号码

/^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$/

手机号码

/^(13[0-9]|14[0-9]|15[0-9]|166|17[0-9]|18[0-9]|19[8|9])\d{8}$/

汉字

/^[\u4e00-\u9fa5]{0,}$/

中文、英文、数字包括下划线

/^[\u4E00-\u9FA5A-Za-z0-9_]+$/

// 匹配 10000.00、10,000.00、10000、10,000 四种格式
/^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/

IP地址

/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/

身份证号

// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

十六进制颜色

/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

车牌号

/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/

参考文章