码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式之密码验证

时间:2020-09-18 01:33:24      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:ref   reg   code   http   lang   参考   验证   html   解释   

要求

密码长度 6-16 位,包含至少一个特殊字符,一个数字,一个大写字母和一个小写字母。

正则表达式

(?=^.{6,16}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[A-Z]){1})(?=(?:.*?[`·~!@#$%^&*()_+}{|:;‘",<.>/?\=\[\]\-\\]){1})(?!.*\s)[0-9a-zA-Z`·~!@#$%^&*()_+}{|:;‘",<.>/?\=\[\]\-\\]*$

解释

规则 解释
(?=^.{6,16}$) 密码长度6-16,自己改变数字可以调节
(?=(?:.?[`·~!@#$%^&()_+}{:;‘",<.>/?=\[\]\-\]){1}) 至少一个特殊字符
(?=(?:.*?\d){1}) 至少一个数字
(?=.*[a-z]) a-z的小写字母
(?=(?:.*?[A-Z]){1}) 至少一个大写字母

一些坑

  • 在做特殊字符处理这块,因为涉及到有些字符比如 = [ ] - \ 这四个,需要在前面加 \ 进行转义,才能正常正则识别出来。

  • 特殊字符匹配,后面这段必须也包含前面的匹配代码,即两段 ``·~!@#$%^&*()_+}{|:;‘",<.>/?=[]-\` 都相同:

    (?=(?:.*?[`·~!@#$%^&*()_+}{|:;‘",<.>/?\=\[\]\-\\]){1})(?!.*\s)[0-9a-zA-Z`·~!@#$%^&*()_+}{|:;‘",<.>/?\=\[\]\-\\]*$
    
  • 只支持英文状态下的特殊字符,因为发现中文的 和英文的 - 是两个字符。

正则表达式测试网站

参考

正则表达式验证密码强度

密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等

正则表达式之密码验证

标签:ref   reg   code   http   lang   参考   验证   html   解释   

原文地址:https://www.cnblogs.com/wonz/p/13669945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!