正则表达式 匹配 用户名/密码/Email/身份证

通过正则表达式匹配 用户名/密码/Email/身份证
  • 用户名(4到16位,字母数字下划线,减号):

      /^[-_a-zA-Z0-9]{4,16}$/
    

    解释:在字符组中表示:匹配若干字符之一,这里就是匹配‘-’ , ‘_’ 和字母,数字其中之一,最后的{4,16}表示匹配4~16个字符组中的字符。


  • Email:

      /^[a-zA-Z0-9]{1,10}@[a-zA-Z0-9]{1,5}\.[a-zA-Z0-9]{1,5}$/
    

    解释:此正则和用户名正则大同小异,就是在中间加了‘@’与元字符‘.’ 所以我们要在‘.’前进行转义,否则就代表匹配任意单个字符了。


  • 身份证:

      /^\d{17}(\d|x|X)$/
    

    解释:\d表示匹配数字。身份证由17数字,第十八位可能为数字或者X字母。所以我们首先进行17位的数字匹配,再进行最后一位的匹配,\d|x|X就表示匹配数字或者‘x’或者’X’。


  • 密码(最少6位,包括至少一位大写字母,一位小写字母,一个数字,一个特殊字符):

      /(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[$@!%*#?&])[A-Za-z\d$@!%*#?&]{6,}$/
    

    解释:
    这里最先的 (?=.*[A-Z]) 是正则表达式的环视,表示必须满足“在此位置后为 .*[A-Z])”才能匹配成功。意思是,匹配成功的表达式必须满足:存在大写字母。因为 [A-Z] 前为. * 。所以字母前可以存在任何字符。
    (注意:环视不消耗正则的匹配字符。)
    一位小写字母,一个数字,一个特殊字符的匹配也是类似的。
    最后的:[A-Za-z\d$@!%*#?&]{6,}与匹配用户名类似,但这里值得注意的是,因为环视不消耗正则的匹配字符,它就相当于一个判断,所以我们这里字符组中的字符必须包含:字母,数字,特殊字符,且匹配的数量应为6+而不是2+。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值