Tri*_*tan 5 php passwords codeigniter
我试图检查,如果用户创建了包含符号(包括+, - ,=符号)OR/AND号的密码.我怎样才能做到这一点?
function check_password($str)
{
if (!preg_match ("/[&@<>%\*\,\^!#$%().]/i", $str))
{
$this->form_validation->set_message('check_password', 'Your password should contain a number,letter,and special characters"');
return FALSE;
}
else
{
return TRUE;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我对密码强度检查的建议是将每个要求分解为单独的正则表达式,特别是:
$regexs = array(
'/[0-9]+/', // Numbers
'/[a-z]+/', // Lower Case Letters
'/[A-Z]+/', // Upper Case Letters
'/[+-=]+/', // Your list of allowable symbols.
);
Run Code Online (Sandbox Code Playgroud)
将计数器初始化为0.对于每个正则表达式,请测试它是否匹配.如果是,则将计数器增加1.如果计数器大于3,则返回true(如果希望密码具有非常强的密码,则返回4),否则返回false.
如果您的要求发生变化,我认为从长远来看,这对您来说会更加可维护.