我正在编写一个密码模式,要求如下:1.最小字符数= 61.最大字符数= 641.最少1个小写字符1.最少1个大写字符1.最少1个1.最少1个特殊字符我使用这个regex:
var passReg = /^(?=^[ -~]{6,64}$)(?=.*([a-z][A-Z]))(?=.*[0-9])(.*[ -/|:-@|\[-`|{-~]).+$/;
但是,它并不像预期的那样工作。
hfsqlsce1#
你必须寻找这个正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[ -/:-@\[-`{-~]).{6,64}$
参见demo以下是解释:
^
(?=.*[a-z])
(?=.*[A-Z])
(?=.*[0-9])
(?=.*[ -/:-@\[-
.{6,64}
$
niknxzdl2#
被视为特殊的非空格字符。我认为这是一个完整的列表:!“# $ % & '()* +,- ./:; < = >?@ [ \ ] ^ _ ` {|} ~试试这个:
var passReg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!"#$%&'()*+,-.\/:;<=>?\\@[\]^_`{|}~]).{6,64}$/;
查看后面的参考文献中的特殊字符。在字符集中,像\和]这样的字符必须转义。
qnakjoqk3#
输入密码并提交[8至25个字符,至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符]
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,25}$/;
3条答案
按热度按时间hfsqlsce1#
你必须寻找这个正则表达式:
参见demo
以下是解释:
^
-字符串开头(?=.*[a-z])
-需要小写字母的积极前瞻(?=.*[A-Z])
-需要大写字母的积极前瞻(?=.*[0-9])
-需要数字的积极前瞻(?=.*[ -/:-@\[-
{-~])` -需要特殊字符的积极前瞻.{6,64}
-任何字符(除了换行符),出现6到64次$
-字符串结束。niknxzdl2#
被视为特殊的非空格字符。我认为这是一个完整的列表:
!“# $ % & '()* +,- ./:; < = >?@ [ \ ] ^ _ ` {|} ~
试试这个:
查看后面的参考文献中的特殊字符。在字符集中,像\和]这样的字符必须转义。
qnakjoqk3#
输入密码并提交[8至25个字符,至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符]