校验密码强度
- 密码长度为8-16位
- 必须包含至少一个大写字母、一个小写字母和一个数字
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,16}$
这个正则表达式的含义是:
- ^ 表示匹配字符串的开始
- (?=.*[a-z]) 表示至少包含一个小写字母
- (?=.*[A-Z]) 表示至少包含一个大写字母
- (?=.*\d) 表示至少包含一个数字
- [a-zA-Z\d]{8,16} 表示密码由大小写字母和数字组成,且长度为8-16位
- $ 表示匹配字符串的结束
使用这个正则表达式可以校验密码是否符合一定的强度要求。
校验中文
^[\u4e00-\u9fa5]+$
这个正则表达式可以匹配一个或多个中文字符。
由数字、英文字母、下划线组成的字符串
^\w+$
\w表示匹配任意数字、英文字母、下划线。+表示匹配前面的字符一次或多次。^表示匹配字符串的开头,$表示匹配字符串的结尾。因此,这个正则表达式可以用来校验由数字、英文字母、下划线组成的字符串。
校验邮箱地址
^[\w\.-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$
这个正则表达式的含义是:
- ^ 表示匹配字符串的开头
- [\w\.-]+ 匹配邮箱地址中的用户名部分,包括字母、数字、下划线、点和连字符,且至少包含一个字符
- @ 匹配邮箱地址中的@符号
- [a-zA-Z\d\.-]+ 匹配邮箱地址中的域名部分,包括字母、数字、点和连字符,且至少包含一个字符
- \. 匹配邮箱地址中的域名部分和顶级域名之间的点
- [a-zA-Z]{2,} 匹配邮箱地址中的顶级域名部分,包括至少两个字母
- $ 表示匹配字符串的结尾
这个正则表达式可以校验大部分常见的邮箱地址格式,但并不能保证一定能匹配所有合法的邮箱地址。
校验身份证号
/^(\d{6})(19|20)?(\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(\d{3})(\d|X)?$/
^表示匹配字符串的开始,$表示匹配字符串的结束。括号用于分组,\d表示匹配数字,?表示前面的字符可选,|表示或的关系,[...]表示匹配括号内的任意一个字符,{n}表示匹配前面的字符n次,{m,n}表示匹配前面的字符至少m次,至多n次。
这个正则表达式可以匹配18位和15位身份证号,其中18位身份证号的前17位为数字,最后一位可以是数字或者X,15位身份证号的前15位为数字。
校验日期
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)(?:0?2)\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
这个正则表达式可以匹配格式为"dd/mm/yyyy"、"dd-mm-yyyy"或"dd.mm.yyyy"的日期,其中年份为1600年至9999年之间的日期。
^\d{4}-\d{2}-\d{2}$
这个正则表达式可以使用以下正则表达式来校验yyyy-mm-dd格式的日期,以4位数字开头,然后是一个连字符,然后是2位数字,再然后是一个连字符,最后是2位数字。
校验金额
^\d{1,3}(,\d{3})*(\.\d{2})?$
这个正则表达式可以匹配以下金额格式:
- 123
- 1,234
- 1,234.56
- 123.45
其中:
- ^\d{1,3} 匹配 1 到 3 位数字开头
- (,\d{3})* 匹配逗号和3位数字的组合,可以重复任意次
- (\.\d{2})? 匹配小数点和2位数字的组合,可选
这个正则表达式可以满足大部分金额的校验需求。
校验手机号
^1[3-9]\d{9}$
这个正则表达式可以匹配以1开头的11位数字,其中第二位数字为3-9之间的任意数字。
检查IE版本
MSIE\s(\d+)
这个正则表达式可以匹配以"MSIE"开头,后面跟着一个或多个数字的字符串,这个数字就是IE的版本号。
校验IP地址
^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
这个正则表达式可以匹配合法的IP地址,其中每个段的取值范围是0到255。
校验URL
^(https?|ftp):\/\/[^\s\/$.?#].[^\s]*$
这个正则表达式可以匹配以http、https或ftp开头的URL,例如:https://www.baidu.com。
校验文件路径及扩展名
文件路径的正则表达式:
^(\/[^\/\0]+)+$
解释:
- ^ 表示匹配字符串的开头
- (\/[^\/\0]+)+ 表示匹配以/开头,后面跟着至少一个非/和空字符的字符组合,可以重复多次
- $ 表示匹配字符串的结尾
扩展名的正则表达式:
\.[a-zA-Z0-9]+$
解释:
- \. 表示匹配.字符
- [a-zA-Z0-9]+ 表示匹配至少一个字母或数字
- $ 表示匹配字符串的结尾
将两个正则表达式结合起来,可以校验文件路径及扩展名:
^(\/[^\/\0]+)+\.[a-zA-Z0-9]+$
提取Hex颜色值
#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})
这个正则表达式可以匹配带有#前缀的6位或3位16进制颜色代码。
匹配HTML标签
<([a-z1-6]+)([^<]+)*(?:>(.*)<\/\1>|\s\/>)
这个正则表达式可以匹配类似<div>、<a href="example.com">、<img src="image.jpg" />等HTML标签。
在线工具:https://regex101.com/