Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex密码帮助_Javascript_Regex_Passwords - Fatal编程技术网

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分钟内接受答案。:)