我们能在 reactJS
中进行 密码验证 的 正则表达式
模式检查吗?
由于我是新手,需要使用 正则表达式
模式来验证密码。
以下是验证密码
的条件:
a) 密码应包含一个大写字母
b) 它应该以特殊字符@
或#
开头
c) 它不应包含任何元音字母a,e,i,o,u
d) 它应为字母数字混合。
e) 密码的长度应在8到14
之间
我们能在 reactJS
中进行 密码验证 的 正则表达式
模式检查吗?
由于我是新手,需要使用 正则表达式
模式来验证密码。
以下是验证密码
的条件:
a) 密码应包含一个大写字母
b) 它应该以特殊字符@
或#
开头
c) 它不应包含任何元音字母a,e,i,o,u
d) 它应为字母数字混合。
e) 密码的长度应在8到14
之间
function password_validate(password) {
var re = {
'capital' : /[A-Z]/,
'digit' : /[0-9]/,
'except' : /[aeiou]/,
'full' : /^[@#][A-Za-z0-9]{7,13}$/
};
return re.capital .test(password) &&
re.digit .test(password) &&
!re.except .test(password) &&
re.full .test(password);
}
或者在一行中使用相同的函数:
function password_validate(p) {
return /[A-Z]/.test(p) && /[0-9]/.test(p) && !/[aeiou]/.test(p) && /^[@#][A-Za-z0-9]{7,13}$/.test(p);
}
这个正则表达式可以工作:
^[@#](?=.{7,13}$)(?=\w{7,13})(?=[^aeiou_]{7,13})(?=.*[A-Z])(?=.*\d)
解释
^[@#]
以 @
或 #
开始。
现在我们可以这样添加一些条件:
(?=condition)(?=condition)(?=condition)
这意味着“匹配条件,但在原始匹配点继续匹配。”
您可以添加任意多个条件,并且这将是一个“与”操作。
(?=.{7,13}$)
密码长度应该在8到14之间。
(?=\w{7,13})
它应该是字母数字组合。
(?=[^aeiou_]{7,13})
它不应该包含任何元音字母 a、e、i、o、u 或下划线,它由 \w
匹配。
(?=.*[A-Z])
密码应该包含一个大写字母。
(?=.*\d)
它应该是字母数字组合,因此它应该包含一个数字。
password_validate = (password) => {
var re = {
capital: /(?=.*[A-Z])/,
length: /(?=.{7,40}$)/,
specialChar: /[ -\/:-@\[-\`{-~]/,
digit: /(?=.*[0-9])/,
};
return (
re.capital.test(password) &&
re.length.test(password) &&
re.specialChar.test(password) &&
re.digit.test(password)
);
};
标准一 - /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/.test(paswrd)