php正则表达式验证必须包含数字、字母、特殊符号任意两种组合
$password = '123456';
if (preg_match("/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,}$/",$password)) {
echo '匹配';
} else {
echo '不匹配';
}
thinkphp中验证器写法
// 预定义验证器
protected $regex = [ 'password' => '/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,}$/'];
protected $rule = [
'user_pass' => 'require|length:6,15|regex:password',
'user_pass_confirm' => 'require|confirm:user_pass',
];
有问题的话欢迎留言!