PHP常用密码正则匹配验证
第一种:
//昵称2-10位字符,需由中文、数字、字母(区分大小写)和下划线组合
$a = '的方';
$b = preg_match( "/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{2,10}$/u", $a );
var_dump( $b );
第二种:
//正则表达式6-16位字符(英文/数字/符号)三种组合
$pwd = 'ddddddA1';
$res = preg_match('/(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,16}/', $pwd);
var_dump( $res );
第三种:
//正则表达式8-16位字符(英文/数字/符号)至少两种或下划线组合
$pwd = 'dddee1d';
$res = preg_match('/^(\w*(?=\w*\d)(?=\w*[A-Za-z])\w*){8,16}$/', $pwd);
var_dump( $res );
/** * 验证用户名称 * @param $str * @return string */ function checkStr($str) { $output=''; $strlen = mb_strlen($str,'UTF-8'); $a=preg_match('/['.chr(0xa1).'-'.chr(0xff).']/', $str); $b=preg_match('/[0-9]/', $str); $c=preg_match('/[a-zA-Z]/', $str); if($strlen < 4 || $strlen > 12) $output='长度不合法'; elseif($a && $b && $c) $output='汉字数字英文的混合字符串'; elseif($a && $b && !$c) $output='汉字数字的混合字符串'; elseif($a && !$b && $c) $output='汉字英文的混合字符串'; elseif(!$a && $b && $c) $output='数字英文的混合字符串'; elseif($a && !$b && !$c) $output='纯汉字'; elseif(!$a && $b && !$c) $output='纯数字'; elseif(!$a && !$b && $c) $output='纯英文'; return $output; }