zoukankan      html  css  js  c++  java
  • PHP验证身份证格式

    /**
    * 验证身份证基本格式
    * @param $idcard
    * @return bool
    */
    public static function validateIdcard($idcard)
    {
    $City = array(
    '11', '12', '13', '14', '15', '21', '22',
    '23', '31', '32', '33', '34', '35', '36',
    '37', '41', '42', '43', '44', '45', '46',
    '50', '51', '52', '53', '54', '61', '62',
    '63', '64', '65', '71', '81', '82', '91'
    );
     
    // 身份证不是17+xX或18位数字或15位数字
    if (!preg_match('/^([d]{14,18}[xXd]|[d]{15})$/', $idcard)) {
    return false;
    }
    // 身份证城市不在列表中
    if (!in_array(substr($idcard, 0, 2), $City)) {
    return false;
    }
    $idcard = preg_replace('/[xX]$/i', 'a', $idcard);
    $length = strlen($idcard);
    if ($length == 18) {
    $vBirthday = substr($idcard, 6, 4) . '-' . substr($idcard, 10, 2) . '-' . substr($idcard, 12, 2);
    } else {
    $vBirthday = '19' . substr($idcard, 6, 2) . '-' . substr($idcard, 8, 2) . '-' . substr($idcard, 10, 2);
    }
    // 生日验证,并且如果生日大于现在的时间,也报错
    $birthdayTime = strtotime($vBirthday);
    if (date('Y-m-d', $birthdayTime) != $vBirthday && $birthdayTime > time()) {
    return false;
    }
    return true;
    }
  • 相关阅读:
    redis的两种安装方法
    http头部信息
    软件测试技术知识
    github使用
    3 python之基础概要
    2 Python之编程语言介绍及变量
    1 Python入门及计算机硬件知识
    Linux常用命令
    CMDB小练习
    CMDB和运维自动化
  • 原文地址:https://www.cnblogs.com/linzy/p/7654686.html
Copyright © 2011-2022 走看看