我想在密码中使用一些特殊字符

时间:2017-03-27 08:39:43

标签: php mysql codeigniter validation

我写了

$this->form_validation->set_rules(
    'password',
    'password',
    'required|min_length[4]|max_length[8]|regex_match[/^[a-z0-9]+$/]'
);

但我想要:
 密码必须 恰好包含2个 特殊字符和 2个大写字母

怎么写?

2 个答案:

答案 0 :(得分:3)

您可以使用回调函数: 例如:

public function password_check($str)
{
   if (preg_match('#[\W]{2}#', $str) && preg_match('#[A-Z]{2}#', $str)) {
     return TRUE;
   }
   return FALSE;
}

验证部分:

$this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]|min_length[8]|alpha_numeric|callback_password_check');

答案 1 :(得分:0)

我可以为你提供一个特殊的字符表达式:

/[\'.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/
祝你好运!