我们可以在reactJS中对密码验证进行regex模式检查吗?由于我是reactJS的新手,所以我需要regex模式来验证密码。以下是validating password的条件。a)密码应包含一个大写字母B)以特殊字符@或#开头c)不应包含任何元音a,e,i,o,u字母d)应为字母数字。e)密码长度应在range 8 to 14之间
reactJS
regex
validating password
@
#
a,e,i,o,u
range 8 to 14
2jcobegt1#
最简单的方法是分别检查所有规则。有一个函数是我为你写的:
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); }
xuo3flqw2#
这个正则表达式将工作:^[@#](?=.{7,13}$)(?=\w{7,13})(?=[^aeiou_]{7,13})(?=.*[A-Z])(?=.*\d)
^[@#](?=.{7,13}$)(?=\w{7,13})(?=[^aeiou_]{7,13})(?=.*[A-Z])(?=.*\d)
说明
^[@#]以@或#开头现在我们可以这样添加一些条件:(?=condition)(?=condition)(?=condition)这意味着“匹配条件,但之后在原始匹配点继续匹配”。您可以添加任意多个条件,这将是一个“and”(?=.{7,13}$)密码长度应介于8到14之间(?=\w{7,13})应该是字母数字。(?=[^aeiou_]{7,13})不应包含\w匹配的任何元音字母a、e、i、o、u或下划线(?=.*[A-Z])密码应包含大写字母(?=.*\d)应为字母数字,因此应包含数字Demo
^[@#]
(?=condition)(?=condition)(?=condition)
(?=.{7,13}$)
(?=\w{7,13})
(?=[^aeiou_]{7,13})
\w
(?=.*[A-Z])
(?=.*\d)
xggvc2p63#
如果你想一次检查所有的规则-试试这个公式:
^([@#](?=[^aeiou]{7,13}$)(?=[[:alnum:]]{7,13}$)(?=.*[A-Z]{1,}.*$).+)$
Demo
xxe27gdn4#
标准1-/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/.test(paswrd)
/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/.test(paswrd)
ulydmbyx5#
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) ); };
1./(?=.[A-Z])/-将检查至少一个大写字符1./(?=.{7,40}$)/-将检查7到40之间的字符长度1./[ -/:-@[-`{-~]/-将检查至少一个符号1./(?=.[0-9])/-将检查至少一个数字
5条答案
按热度按时间2jcobegt1#
最简单的方法是分别检查所有规则。
有一个函数是我为你写的:
或者在一行中使用相同的函数:
xuo3flqw2#
这个正则表达式将工作:
^[@#](?=.{7,13}$)(?=\w{7,13})(?=[^aeiou_]{7,13})(?=.*[A-Z])(?=.*\d)
说明
^[@#]
以@
或#
开头现在我们可以这样添加一些条件:
(?=condition)(?=condition)(?=condition)
这意味着“匹配条件,但之后在原始匹配点继续匹配”。
您可以添加任意多个条件,这将是一个“and”
(?=.{7,13}$)
密码长度应介于8到14之间(?=\w{7,13})
应该是字母数字。(?=[^aeiou_]{7,13})
不应包含\w
匹配的任何元音字母a、e、i、o、u或下划线(?=.*[A-Z])
密码应包含大写字母(?=.*\d)
应为字母数字,因此应包含数字Demo
xggvc2p63#
如果你想一次检查所有的规则-试试这个公式:
Demo
xxe27gdn4#
标准1-
/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/.test(paswrd)
ulydmbyx5#
1./(?=.[A-Z])/-将检查至少一个大写字符
1./(?=.{7,40}$)/-将检查7到40之间的字符长度
1./[ -/:-@[-`{-~]/-将检查至少一个符号
1./(?=.[0-9])/-将检查至少一个数字