正则表达式验证6~30位数字,下划线,中划线,字母任意两种混合的密码验证策略...

需求要求:

  1. 位数为6~30位
  2. 至少包含字母、数字、下划线_、中划线-中的两种

正则表达式:

  • js表达式:
    ^(?!^[\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\w-]{6,30}$

  • java表达式-字符串:
"^(?!^[\\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\\w-]{6,30}$"

解析:

至少四种中的两种也可以解释为为不是纯数字、不是纯字母、不是纯下划线,不是纯中划线

测试用例:

123456a(匹配)
_12345a(匹配)
_123-45a(匹配)
123456 (6位纯数字,没有匹配)
abcdef (6位纯字母,没有匹配)
------ (6位纯中划线,没有匹配)
______ (6位纯下划线,没有匹配)
123456789012345678901234567890a(31位字母数字组合,没有匹配)
_123-45a+(9位四种混搭多个加号,没有匹配)
_12%3-45a(9位四种混搭多个百分比号,没有匹配)
a-_1d(5位四种混搭,没有匹配)

转载于:https://www.cnblogs.com/zaid/p/11253490.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值