常用正则表达式,复制粘贴即用

目录

校验密码强度

校验中文

由数字、英文字母、下划线组成的字符串

校验邮箱地址

校验身份证号

校验日期

校验金额

校验手机号

检查IE版本

校验IP地址

校验URL

校验文件路径及扩展名

文件路径的正则表达式:

扩展名的正则表达式:

提取Hex颜色值

匹配HTML标签


校验密码强度

  • 密码长度为8-16位

  • 必须包含至少一个大写字母、一个小写字母和一个数字

java 复制代码
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,16}$

这个正则表达式的含义是:

  • ^ 表示匹配字符串的开始

  • (?=.*[a-z]) 表示至少包含一个小写字母

  • (?=.*[A-Z]) 表示至少包含一个大写字母

  • (?=.*\d) 表示至少包含一个数字

  • [a-zA-Z\d]{8,16} 表示密码由大小写字母和数字组成,且长度为8-16位

  • $ 表示匹配字符串的结束

使用这个正则表达式可以校验密码是否符合一定的强度要求。

校验中文

java 复制代码
^[\u4e00-\u9fa5]+$

这个正则表达式可以匹配一个或多个中文字符。

由数字、英文字母、下划线组成的字符串

\w表示匹配任意数字、英文字母、下划线。

+表示匹配前面的字符一次或多次。

^表示匹配字符串的开头,

$表示匹配字符串的结尾。

因此,这个正则表达式可以用来校验由数字、英文字母、下划线组成的字符串。

校验邮箱地址

java 复制代码
^[\w\.-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$

这个正则表达式的含义是:

  • ^ 表示匹配字符串的开头

  • [\w\.-]+ 匹配邮箱地址中的用户名部分,包括字母、数字、下划线、点和连字符,且至少包含一个字符

  • @ 匹配邮箱地址中的@符号

  • [a-zA-Z\d\.-]+ 匹配邮箱地址中的域名部分,包括字母、数字、点和连字符,且至少包含一个字符

  • \. 匹配邮箱地址中的域名部分和顶级域名之间的点

  • [a-zA-Z]{2,} 匹配邮箱地址中的顶级域名部分,包括至少两个字母

  • $ 表示匹配字符串的结尾

这个正则表达式可以校验大部分常见的邮箱地址格式,但并不能保证一定能匹配所有合法的邮箱地址。

校验身份证号

java 复制代码
/^(\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位为数字。

校验日期

java 复制代码
^(?:(?: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年之间的日期。

java 复制代码
^\d{4}-\d{2}-\d{2}$

这个正则表达式可以使用以下正则表达式来校验yyyy-mm-dd格式的日期,以4位数字开头,然后是一个连字符,然后是2位数字,再然后是一个连字符,最后是2位数字。

校验金额

java 复制代码
^\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位数字的组合,可选

这个正则表达式可以满足大部分金额的校验需求。

校验手机号

java 复制代码
^1[3-9]\d{9}$

这个正则表达式可以匹配以1开头的11位数字,其中第二位数字为3-9之间的任意数字。

检查IE版本

java 复制代码
MSIE\s(\d+)

这个正则表达式可以匹配以"MSIE"开头,后面跟着一个或多个数字的字符串,这个数字就是IE的版本号。

校验IP地址

java 复制代码
^(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

java 复制代码
^(https?|ftp):\/\/[^\s\/$.?#].[^\s]*$

这个正则表达式可以匹配以http、https或ftp开头的URL,例如:https://www.baidu.com

校验文件路径及扩展名

文件路径的正则表达式:

java 复制代码
^(\/[^\/\0]+)+$

解释:

  • ^ 表示匹配字符串的开头

  • (\/[^\/\0]+)+ 表示匹配以/开头,后面跟着至少一个非/和空字符的字符组合,可以重复多次

  • $ 表示匹配字符串的结尾

扩展名的正则表达式:

java 复制代码
\.[a-zA-Z0-9]+$

解释:

  • \. 表示匹配.字符

  • [a-zA-Z0-9]+ 表示匹配至少一个字母或数字

  • $ 表示匹配字符串的结尾

将两个正则表达式结合起来,可以校验文件路径及扩展名:

java 复制代码
^(\/[^\/\0]+)+\.[a-zA-Z0-9]+$

提取Hex颜色值

这个正则表达式可以匹配带有#前缀的6位或3位16进制颜色代码。

匹配HTML标签

java 复制代码
<([a-z1-6]+)([^<]+)*(?:>(.*)<\/\1>|\s\/>)

这个正则表达式可以匹配类似<div><a href="example.com"><img src="image.jpg" />等HTML标签。

相关推荐
奔跑吧邓邓子11 小时前
正则表达式:开启文本处理的魔法之门
正则表达式·文本处理·高效应用
相知-.1 天前
shell正则表达式
linux·运维·正则表达式
面朝大海,春不暖,花不开3 天前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
前端小白从0开始3 天前
关于前端常用的部分公共方法(二)
前端·vue.js·正则表达式·typescript·html5·公共方法
岁忧3 天前
LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 下
sql·leetcode·正则表达式
岁忧3 天前
MySQL中【正则表达式】用法
数据库·mysql·正则表达式
htj105 天前
C# 使用正则表达式
正则表达式·c#
ZZZKKKRTSAE5 天前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
Kusunoki_D6 天前
Python-正则表达式(re 模块)
python·正则表达式
数字芯片实验室6 天前
正则表达式的前世今生
正则表达式