【问题标题】:Force and Restrain on same Regex强制和限制相同的正则表达式
【发布时间】:2017-07-26 06:53:04
【问题描述】:

我正在尝试设置一个密码输入,该密码输入将强制每个小写、大写和数字中的至少一个,但同时拒绝任何其他输入,例如特殊字符。到目前为止,我能够强制其中一个,但无法否认特殊字符.. 谢谢你

pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{5,25}"

【问题讨论】:

  • 禁止所有非字母数字字符对于密码而言通常不是一个好主意,它会降低密码强度,并可能导致使用密码管理器的用户出现问题。
  • 我了解安全风险..这只是一个学校项目,更多的是出于我自己对如何限制和强制使用同一个正则表达式的好奇心..谢谢

标签: html regex passwords


【解决方案1】:

您需要将使用中的 . 替换为 [a-zA-Z0-9] 字符类,或者您在正则表达式中允许的任何字符/范围:

pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{5,25}"
                                       ^^^^^^^^^^^

原因是. 匹配任何字符(换行符除外)。

注意:长度限制在这里有效,因为 HTML5 pattern 正则表达式默认锚定。

【讨论】:

  • 谢谢你..这按预期工作..帮助我理解我只是强迫而不是限制..
猜你喜欢
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 1970-01-01
相关资源
最近更新 更多