Mar*_*mel 10 php regex passwords preg-match
我想创建一个preg_match函数来验证我的passowrds,但我不知道如何写它以允许使用以下特殊字符:!@#$%.
if(!preg_match(?????)$/', $password))
Run Code Online (Sandbox Code Playgroud)
这是我想要在正则表达式中使用的密码规则:
!@#$%感谢您提供的任何帮助.
r3b*_*bel 52
我认为这应该是这样的:
if(!preg_match('/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z!@#$%]{8,12}$/', $password)) {
echo 'the password does not meet the requirements!';
}
Run Code Online (Sandbox Code Playgroud)
在
字符串的开始 - > ^
和结束 - > $
之间必须至少有一个数字 - > (?=.*\d)
和至少一个字母 - > (?=.*[A-Za-z])
并且它必须是数字,字母或以下之一:!@#$% - > [0-9A-Za-z!@#$%]
并且必须有8-12个字符 - >{8,12}
当用户557846对您的问题发表评论时,我还建议您允许更多字符,我通常(如果我使用最大值)至少需要50 :)
顺便说一句,你可能想看看这个正则表达式教程
小智 9
preg_match('/^(?=.*\d)(?=.*[@#\-_$%^&+=§!\?])(?=.*[a-z])(?=.*[A-Z])[0-9A-Za-z@#\-_$%^&+=§!\?]{8,20}$/',$password)
Run Code Online (Sandbox Code Playgroud)