掌握这些正则表达式,能让你减少1000行代码的编写
校验密码强度
密码长度为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/
网站建设
小程序开发
电商设计
阅读排行
-
1. 几行代码就能实现Html大转盘抽奖
大转盘抽奖是网络互动营销的一种常见形式,其通过简单易懂的界面设计,让用户在游戏中体验到乐趣,同时也能增加商家与用户之间的互动。本文将详细介绍如何使用HTML,CSS和JavaScript来实现大转盘抽奖的功能。
查看详情 -
2. 微信支付商户申请接入流程
微信支付,是微信向有出售物品/提供服务需求的商家提供推广销售、支付收款、经营分析的整套解决方案,包括多种支付方式,如JSAPI支付、小程序支付、APP支付H5支付等支付方式接入。
查看详情 -
3. 浙江省同区域公司地址变更详细流程
提前准备好所有需要的资料,包含:房屋租赁合同、房产证、营业执照正副本、代理人身份证正反面、承诺书(由于我们公司其中一区域已有注册另外一公司,所以必须需要承诺书)
查看详情 -
4. 阿里云域名ICP网络备案流程
根据《互联网信息服务管理办法》以及《非经营性互联网信息服务备案管理办法》,国家对非经营性互联网信息服务实行备案制度,对经营性互联网信息服务实行许可制度。
查看详情 -
5. 微信小程序申请注册流程
微信小程序注册流程与微信公众号较为相似,同时微信小程序支持通过已认证的微信公众号进行注册申请,无需进行单独认证即可使用,同一个已认证微信公众号可同时绑定注册多个小程序。
查看详情