php常用验证(关于用户信息)

苹果 发表于2019-05-05 18:15:04 正则验证  ,php   2088

列出五种常见的情况:验证用户名,密码强度,邮箱格式,手机号格式和身份证格式
  1. 验证用户名是否合法,必须是以字母开头,只能包含字母数字下划线和减号,6到18位

function checkUserName($username)
{
    if (preg_match('/^[A-Za-z]{1}[A-Za-z0-9_-]{5,17}$/', $username)) {
        return 1;
    } else {
        return 0;
    }
}

2.验证密码强度,6-16位,,至少有一个数字,一个大写字母,一个小写字母和一个特殊字符,四个任意组合

function checkPassword($password)
{
    if (preg_match('/(?=^.{6,16}$)(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).*$/', $password)) {
        return 1;
    } else {
        return 0;
    }
}

3.验证邮箱是否合法,必须有@,前边最少2个字符,字母或数字开头,域名部分最少1位,后缀可以是一级也可以是二级,最少两位

function checkEmail($email)
{
    $email = strtolower($email);// 全部转小写(邮箱不区分大小写)
    if (preg_match('/^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(\.[a-z]{2,})*\.[a-z]{2,}$/', $email)) {
        return 1;
    } else {
        return 0;
    }
}

4.验证手机号是否合法

function checkPhone($phone)
{
    if (preg_match('/^1[345678]{1}\d{9}$/', $phone)) {
        return 1;
    } else {
        return 0;
    }
}

5.验证身份证号是否合法

function checkIdCard($idcard)
{
    if (preg_match('/^[1-9]{1}\d{5}[1-9]{2}\d{9}[Xx0-9]{1}$/', $idcard)) {
        return 1;
    } else {
        return 0;
    }
}


6.验证银行卡号是否合法

function checkBankCard($idcard)
{
        $pattern = '/^\d{11,24}$/';
        if (!preg_match($pattern, $card)) {
            return false;
        }
        
        //如果是标准银联卡,检测卡号是否正确
        if (self::startsWith($card, ['62', '638888', '685800'])) {
            // step2 LUHN 算法校验
            $len = strlen($card);
        
            $sum = 0;
            for ($i = 0; $i < $len; $i++) {
                if (($i + $len) & 1) { // 奇数
                    $sum += ord($card[$i]) - ord('0');
                } else { // 偶数
                    $tmp = (ord($card[$i]) - ord('0')) * 2;
                    $sum += floor($tmp / 10) + $tmp % 10;
                }
            }
            return $sum % 10 === 0;
        }
        
        return true;
}




暂无评论
Copyrights © 2016-2017 何冰华个人网站 www.hebinghua.com, All rights reserved. ICP证:豫ICP备17048782号-1
关键词:何冰华,心灵语丝,PHP,Linux,个人随笔,学习笔记