糯麦 NurMai

400-158-5662

糯麦科技

/

新闻资讯

/

技术讨论

/

掌握这些正则表达式,能让你减少1000行代码的编写

掌握这些正则表达式,能让你减少1000行代码的编写

原创 新闻资讯

于 2023-12-14 08:52:18 发布

19495 浏览

校验密码强度

密码长度为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. 浙江省同区域公司地址变更详细流程

    提前准备好所有需要的资料,包含:房屋租赁合同、房产证、营业执照正副本、代理人身份证正反面、承诺书(由于我们公司其中一区域已有注册另外一公司,所以必须需要承诺书)

    查看详情
  • 3. 微信支付商户申请接入流程

    微信支付,是微信向有出售物品/提供服务需求的商家提供推广销售、支付收款、经营分析的整套解决方案,包括多种支付方式,如JSAPI支付、小程序支付、APP支付H5支付等支付方式接入。

    查看详情
  • 4. 阿里云域名ICP网络备案流程

    根据《互联网信息服务管理办法》以及《非经营性互联网信息服务备案管理办法》,国家对非经营性互联网信息服务实行备案制度,对经营性互联网信息服务实行许可制度。

    查看详情
  • 5. 微信小程序申请注册流程

    微信小程序注册流程与微信公众号较为相似,同时微信小程序支持通过已认证的微信公众号进行注册申请,无需进行单独认证即可使用,同一个已认证微信公众号可同时绑定注册多个小程序。

    查看详情