Javascript Regex密码帮助
我想使用以下规则强制使用强密码:Javascript Regex密码帮助,javascript,regex,passwords,Javascript,Regex,Passwords,我想使用以下规则强制使用强密码: -一个小写字符 -一个大写字符 -一个号码 -一个特殊字符 通过互联网搜索,我得出以下结论: ^(?=.[a-z])(?=.[a-z])(?=.[!@$&*])(?=.[1-9])[a-zA-Z1-9]{8,}$ 但它在rubular.com上并不成立 有什么帮助吗?试试这个: ^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).{8,}$ 说明: (?=.[a-z])密码必须包含小写字母 (?=.[A-Z
-一个小写字符
-一个大写字符
-一个号码
-一个特殊字符
通过互联网搜索,我得出以下结论:
^(?=.[a-z])(?=.[a-z])(?=.[!@$&*])(?=.[1-9])[a-zA-Z1-9]{8,}$
但它在rubular.com上并不成立
有什么帮助吗?试试这个:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).{8,}$
说明:
(?=.[a-z])
密码必须包含小写字母
(?=.[A-Z])
密码必须包含大写字母
(?=.[!@$&*])
密码必须包含符号
(?=.[0-9])
密码必须包含某个数字
所有这些都是“看头”,意味着每个测试都是为了某个东西,而实际上没有将其包括在比赛中,也没有将比赛位置向前移动。因此,在所有这些测试之后,就匹配而言,我们仍然处于字符串的开头
{8,}
整个密码必须包含8个或更多字符。(^
和$
锚定到字符串的开头和结尾,因此它们确保匹配包含整个字符串)
原始版本的问题是[a-zA-Z1-9]{8,}
。这一部分意味着整个密码必须由八个或更多的字母和数字组成。这与先前要求出现特殊字符的要求相冲突。另外,原始版本没有将零计算为一个数字,我认为这相当愚蠢。试试这个:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).{8,}$
说明:
(?=.[a-z])
密码必须包含小写字母
(?=.[A-Z])
密码必须包含大写字母
(?=.[!@$&*])
密码必须包含符号
(?=.[0-9])
密码必须包含某个数字
所有这些都是“看头”,意味着每个测试都是为了某个东西,而实际上没有将其包括在比赛中,也没有将比赛位置向前移动。因此,在所有这些测试之后,就匹配而言,我们仍然处于字符串的开头
{8,}
整个密码必须包含8个或更多字符。(^
和$
锚定到字符串的开头和结尾,因此它们确保匹配包含整个字符串)
原始版本的问题是
[a-zA-Z1-9]{8,}
。这一部分意味着整个密码必须由八个或更多的字母和数字组成。这与先前要求出现特殊字符的要求相冲突。另外,原始版本没有将零计算为一个数字,我认为这很愚蠢。我个人会运行4个简单的测试,这更简单&这样你就可以提示用户他们的选择到底出了什么问题。此外,我认为,例如«这是一个很好的密码短语foo bar»比例如«FooBar7@»更安全、更容易记住。就我个人而言,我会运行4个简单的测试,更简单&这样你就可以提示用户他们的选择到底有什么问题。此外,我认为例如«这是一个很棒的密码短语foobar»比例如«FooBar7@»更安全、更容易记住。这是一个令人惊讶的解释。非常感谢。将在4分钟内接受答案。:)这是令人惊讶的解释。非常感谢。将在4分钟内接受答案。:)