正则表达式,一些常用的正则表达式例子

下面是一些常用的正则表达式例子:

  1. 匹配电子邮件地址
var reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/

这个正则表达式用于匹配电子邮件地址,包括用户名、域名和后缀名。其中:

^ 表示匹配字符串的开头
[a-zA-Z0-9._%±]+ 表示匹配一个或多个大小写字母、数字、下划线、句点、百分号、加号或减号,即用户名部分
@ 表示匹配一个 “@” 字符
[a-zA-Z0-9.-]+ 表示匹配一个或多个大小写字母、数字、句点或横线,即域名部分
. 表示匹配一个 “.” 字符
[a-zA-Z]{2,} 表示匹配两个或更多的大小写字母,即后缀名部分
$ 表示匹配字符串的结尾
所以,这个正则表达式可以匹配类似于 “someone@example.com” 的电子邮件地址。

  1. 匹配 URL
var reg = /^(http(s)?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?$/

这个正则表达式用于匹配 URL,包括协议、域名、路径和查询字符串。其中:

^ 表示匹配字符串的开头
(http(s)?😕/)? 表示可选的协议部分,包括 “http://” 和 “https://”
([\w-]+.)+ 表示匹配一个或多个字母、数字、下划线或横线,并以 “.” 结尾,即域名部分
[\w-]+ 表示匹配一个或多个字母、数字、下划线或横线,并且没有 “.”,即顶级域名部分
(/[\w-./?%&=]*)? 表示可选的路径和查询字符串部分,其中 “/” 表示路径的分隔符, \w 表示字母、数字和下划线, - 和 . 表示横线和句点,? 表示查询字符串的起始符号,% 和 & 表示查询字符串的分隔符
$ 表示匹配字符串的结尾
所以,这个正则表达式可以匹配类似于 “http://www.example.com/index.php?id=1001” 的 URL。

  1. 匹配日期格式
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/

这个正则表达式用于匹配日期类型的字符串,其中:

^ 表示匹配字符串的开头
(\d{4}) 表示匹配一个4位数字,即年份部分

  • 表示匹配一个中划线字符
    (\d{1,2}) 表示匹配一个1-2位数字,即月份部分
  • 表示匹配一个中划线字符
    (\d{1,2}) 表示匹配一个1-2位数字,即日期部分
    $ 表示匹配字符串的结尾
    所以,这个正则表达式可以匹配类似于 “2022-10-20” 的日期格式字符串。
  1. 匹配 IP 地址
var reg = /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

这个正则表达式可以匹配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]?) 表示匹配一个数字,可能是 0 - 255 之间的数,或 0 - 99 之间的数,或一位数字,问号 “?” 表示匹配前一项零次或一次,而圆括号 “(” 和 “)” 将这些条件分组用于四次匹配,最后一个 “.” 表示匹配 IP 地址中的 “.” 分隔符
{3} 表示重复匹配前面的表达式 3 次
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) 表示匹配最后一段数字,即第四段,格式与前三段一样
$ 表示匹配文本的末尾
整个正则表达式的作用是匹配一个由四段数字组成的 IP 地址,每段数字的取值应为 0 - 255 之间的数,其中以 “.” 分隔。

举例来说,这个正则表达式可以匹配类似于 “192.168.1.100” 的IP地址,但是如果 IP 地址中存在其他字符,比如空格、字母、符号等,就无法正常匹配。因此,在实际应用时,还需要根据具体情况进行适当的调整。
5. 匹配手机号码

var reg = /^1[3-9]\d{9}$/

这个正则表达式用于匹配中国大陆的手机号码,其中:

^ 表示匹配字符串的开头
1 表示匹配数字 1
[3-9] 表示匹配数字 3-9 中的任意一个
\d{9} 表示匹配任意9个数字
$ 表示匹配字符串的结尾
所以,这个正则表达式可以匹配类似于 “13812345678” 的中国大陆手机号码。

  1. 匹配身份证号码
var reg = /^([1-9]\d{5})(\d{4})(\d{2})(\d{2})(\d{3})(\d|X)$/

这个正则表达式用于匹配中国大陆的身份证号码,其中:

^ 表示匹配字符串的开头
[1-9] 表示匹配数字 1-9 中的任意一个
\d{5} 表示匹配任意 5 个数字
(\d{4})(\d{2})(\d{2}) 表示匹配出生年月日,其中 \d{4} 表示匹配任意 4 个数字,\d{2} 表示匹配任意 2 个数字
(\d{3})(\d|X) 表示匹配最后一段,其中 \d{3} 表示匹配任意 3 个数字,\d|X 表示匹配最后一位数字或者字母 X
$ 表示匹配字符串的结尾
所以,这个正则表达式可以匹配类似于 “43052419880101001X” 的中国大陆身份证号码。

需要注意的是,这个正则表达式并不能完全保证身份证号码的有效性,因为它只是匹配了身份证号码的格式,而没有进行逻辑上的验证。对于身份证号码的真实有效性,需要进行额外的验证。

  1. 匹配密码强度(至少包含大写字母、小写字母、数字和符号,长度至少为8个字符)
var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/

这个正则表达式用于匹配强密码,要求密码长度至少为 8 个字符,并包含大写字母、小写字母、数字和符号。其中:

^ 表示匹配字符串的开头
(?=.\d) 表示必须包含一个数字,其中 (?=) 为正向预查,表示要求该位置后面必须匹配 \d(数字)
(?=.
[a-z]) 表示必须包含一个小写字母,其中 [a-z] 表示小写字母,\w 表示任意字母、数字和下划线
(?=.[A-Z]) 表示必须包含一个大写字母,其中 [A-Z] 表示大写字母
(?=.
[!@# %^&*]) 表示必须包含一个符号,其中 [!@# %^&] 表示符号
(?!.
\s) 表示不能包含空白字符,其中 (?! ) 为负向预查,表示该位置后面不能出现空白字符
.{8,} 表示匹配任意 8 个以上的字符
$ 表示匹配字符串的结尾
所以,这个正则表达式可以匹配类似于 “MyP@ssword1” 的强密码。
这些正则表达式只是

一小部分,实际上正则表达式的应用非常广泛。需要根据具体的需求进行编写和调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值