eagle1024
2017-09-28 08:24
采纳率: 50%
浏览 2.8k

用正则表达式如何校验密码?

1.必须是6位
2.必须包含至少一个大写字母
3.必须包含至少一个小写字母
4.必须包含至少1个数字

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 冰镇绿豆浆 2017-09-29 03:33
    已采纳

    (?=([0-9a-zA-Z]){6}$)(?=.*\d+.*$)(?=.*[a-z]+.*$)(?=.*[A-Z]+.*$)^.*

    已采纳该答案
    2 打赏 评论
  • IAmObject 2017-09-28 08:55

    额,你是完全不懂正则表达式吗??这种问题,都懒得百度吗?非得码这些字在这里问。

    打赏 评论
  • PHPerKael 2017-09-28 10:57

    你这个需求,我觉得一条正则应该是做不到(我不知道有没有大牛知道怎么做),只有6为的字符串,不用正则也许是个更好的选择呢?

    打赏 评论
  • 冰镇绿豆浆 2017-09-29 03:01

    (?=^.{6}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*

    打赏 评论
  • 冰镇绿豆浆 2017-09-29 03:37

    ?=表示预先匹配(也就是需要先满足的条件)
    ([0-9a-zA-Z]){6} 表示:数字大写字母 小写字母 组成的6位
    (?=.*\d+.*$)表示:至少一位数字
    ...
    ...
    ^.*开始匹配满足前面条件的

    打赏 评论

相关推荐 更多相似问题