正则表达式


一、正则表达式基本概念是什么?


正则表达式由普通字符(如字母、数字)和特殊元字符(如 , ^, $, .)组成,通过这些元字符的组合可以描述字符串的复杂模式,从而实现对字符串的高效处理。

普通字符:表示它们自身,如字母、数字、标点符号

特殊元字符:具有特殊含义的字符,用于描述字符串的模式,如 ., ^, $, \b, \w 等。

量词:用于指定匹配字符出现的次数,如 *, +, ?, {n}, {m,n} 等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

​​​​​​​​​​​

二、常用正则表达式

1、检验密码强度

密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$

8到16位 必须有 小写字母+大写字母+特殊字符+数字, 与顺序无关

(?=^.{8,16}KaTeX parse error: Undefined control sequence: \d at position 7: )(?=.*\̲d̲)(?=.*\W+)(?=.*…

2、校验身份证号码

下面是身份证号码的正则校验。15 或 18位。
15位:
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
18位:
^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$

3.校验日期

“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)

4、校验手机号

下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)

^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

4、校验金额

金额校验,精确到2位小数。
^[0-9]+(.[0-9]{2})?$

5、验证用户密码:

^[a-zA-Z]\w{5,17}$

*注:正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。

5、验证是否含有^%&',;=?$\等字符:

[^%&',;=?$\x22]+ 

6、只能输入汉字:

^[\u4e00-\u9fa5]{0,}$

7、验证Email地址:

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

8、验证一年的12个月:

^(0?[1-9]|1[0-2])$

正确格式为:01~09和1~12

9、验证一个月的31天:

^((0?[1-9])|((1|2)[0-9])|30|31)$

10、匹配空行的正则表达式:

\n[\s| ]*\r
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值