正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它使用特定的语法规则来对字符串进行模式匹配和文本搜索。下面,LZ整理了一些常见的正则表达式模式,帮助你更好地处理数据验证。话不多说,常用正则表达式及其解释如下:
注意
:在正则表达式中,^
开头,$
结尾,我们使用 /
将正则表达式包裹起来,以便将它们与其他的内容(如修饰符)区分开来。这是一种常见的约定,特别是在 JavaScript
等编程语言中,以 /
包裹的正则表达式是一种常用的表示方式。在 Java
中,正则表达式的语法并不需要
使用 /
来包裹。
/^0?$|^([1-9][0-9]*)?$/
用于验证正整数,包括零。
/^-?\d+$/
用于匹配一个整数,可以是正整数或负整数
/^-?\d+(\.\d+)?$/
用于匹配一个浮点数,可以是正浮点数或负浮点数
/^[a-zA-Z]+$/
用于匹配一个由英文字母组成的字符串
/^[a-zA-Z0-9]+$/
用于匹配一个由英文字母和数字组成的字符串
/^[\u4e00-\u9fa5]+$/
用于匹配一个由中文字符组成的字符串
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$/
用于匹配字符串只能由大小写字母和数字组成并且长度必须在8到20个字符之间
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+-={}[]:;"'<>,.?/]).{8,20}$/
用于匹配字符串只能由大小写字母、数字和特殊字符组成并且长度必须在8到20个字符之间
/^1\d{10}$/
简单验证中国手机号码,以1字头,后面是10位数字。
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
用于匹配一个符合中国大陆手机号码格式的字符串
/^(?:\d{3}-)?\d{6,8}$/
验证固定电话号码,3个数字的区号,-
作为连字符,然后电话号码的主体部分至少6或8位数字。
/^\+\d{1,3}-\d{1,14}$/
用于匹配带有国际区号的电话号码格式,加号字符,1到3个数字的区号,-
作为连字符,然后电话号码的主体部分1到14个数字。
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
用于匹配有效的电子邮件地址的正则表达式,其中:
([a-zA-Z0-9_-])+
表示邮箱名称部分,由一个或多个字母、数字、下划线、破折号组成。@
表示邮箱地址中的 at 符号。([a-zA-Z0-9_-])+
表示域名部分,由一个或多个字母、数字、下划线、破折号组成。(\.[a-zA-Z0-9_-])+
表示顶级域名部分,由一个或多个字母、数字、下划线、破折号组成。+
表示匹配前面的表达式一次或多次。/^\d{15}|\d{18}$/
用于验证身份证号码,可以是15位或18位数字。
/^[1-9]\d{5}$/
用于匹配六位数字的邮政编码格式
/^[a-zA-Z0-9_]{5,20}$/
用于匹配长度为5到20个字符,且只包含字母、数字或下划线的字符串
/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
用于验证URL地址的有效性,支持http和https。
/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/
用于匹配 24 小时制的时间格式,其中小时部分可以是 00 到 23,分钟和秒钟部分都必须是 00 到 59 的两位数。
/^((((19|[2-9]\d)\d{2})-(0[13-9]|1[0-2])-(0[1-9]|[12]\d|30))|(((19|[2-9]\d)\d{2})-(0[1-9]|1[0-2])-31)|(((19|[2-9]\d)(0[48]|[2468][048]|[13579][26]))-02-29)|(((19|[2-9]\d)\d{2})-02-(0[1-9]|1\d|2[0-8]))|((((19|[2-9]\d)(0[13578]|1[02]))|((19|[2-9]\d)(0[469]|11)))-(30|31)))-\d{2}[0-9Xx]$/
用于验证 yyyy-MM-dd 格式的日期,已考虑平闰年。
/^((([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]))$/
用于验证IP地址,支持IPv4格式。
/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/
用于验证MAC地址,支持以冒号或短横线分隔的标准格式。
/^[A-Z0-9\u4e00-\u9fa5]{1}[A-Z0-9\u4e00-\u9fa5]{5}[A-Z0-9\u4e00-\u9fa5挂学警港澳]{1}$/
用于验证中国车牌号,包括普通车、新能源车和特殊车牌。
/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
用于匹配简单的 HTML 标签
/^[a-zA-Z0-9_.-]+$/
用于匹配包含字母、数字、下划线、点和破折号的字符串,其中可以重复出现这些字符
/^(\d+,)*\d+$/
用于匹配逗号分隔的整数列表,比如:“1,2,3,4,5”:以逗号分隔的整数列表
/^#[0-9A-Fa-f]{6}$/
用于匹配十六进制颜色值,其中以 # 符号开头,后面跟随着六位大小写字母和数字的组合
/^\d{16,19}$/
用于匹配长度为 16 到 19 位的数字
/^[+-]?\d+(\.\d+)?(e[+-]?\d+)?$/
用于匹配数字的各种形式,包括整数、小数和科学计数法表示的数字。
/^[0-9A-Fa-f]+$/
用于匹配一个字符串是否全部由十六进制数字(0-9
,A-F
,a-f
)组成。
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
用于匹配一个符合 UUID(通用唯一标识符)标准格式的字符串。UUID是一个标识符,它的格式类似于:aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
,其中 a、b、c、d 和 e 都是十六进制数字(0-9
,A-F
,a-f
)
正则表达式是处理和验证文本数据的强大工具,它可以用于各种场景,包括表单验证、文本搜索和数据清洗。在编程和数据处理中,了解并熟练使用正则表达式,将有效提升你的开发效率。
希望本文提供的常用正则表达式能对你的开发工作有所帮助!