我如何实现该密码(反斜杠,正斜杠,单引号,双引号)然后只有它不会允许其它将使用自定义validation返回true.i对preg_match没有太多了解所以所有建议都可以接受。
我尝试过以下代码来实现这一目标,但无法取得成功。
所以任何人都有一些建议/想法?
php代码:
public function check_password($str){
return ( !preg_match("/^[a-z0-9!@#$%^&*()_-+|;:<>,.?]+$/i", $str)) ? FALSE : TRUE;
}
如果我将排除(反斜杠,正斜杠,单引号,双引号),那么它必须允许我在数据库中存储密码
例如:
Password : !@#$%^&*()_-+| ;:<>, // true
Password : /12345 //false
Password : 1Aa3!@#$%^&*()_-+| ;:<> //true(here white space also allowed)
答案 0 :(得分:1)
如果我正确理解你只想要这个字符 - 反斜杠,正斜杠,单引号,双引号为禁用以进行密码验证。所以这是代码:
public function check_password($str){
return ( preg_match('/^[^\\\"\'\/]+$/i', $str));
}
答案 1 :(得分:0)
试试这个,
public function check_password($str){
return (!preg_match('/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z!@#$%]{8,12}$/', $str)) ? FALSE : TRUE;
}