PHP常用密码正则匹配验证

 

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;
}

猜你喜欢

转载自blog.csdn.net/weixin_38615720/article/details/91048142
今日推荐