博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php验证身份证函数
阅读量:7049 次
发布时间:2019-06-28

本文共 737 字,大约阅读时间需要 2 分钟。

分享一个验证身份号函数:

function validateIdCard($value){    if (!preg_match('/^\d{17}[0-9xX]$/', $value)) { //基本格式校验        return false;    }    $parsed = date_parse(substr($value, 6, 8));    if (!(isset($parsed['warning_count'])         && $parsed['warning_count'] == 0)) { //年月日位校验        return false;    }    $base = substr($value, 0, 17);    $factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];    $tokens = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];    $checkSum = 0;    for ($i=0; $i<17; $i++) {        $checkSum += intval(substr($base, $i, 1)) * $factor[$i];    }    $mod = $checkSum % 11;    $token = $tokens[$mod];    $lastChar = strtoupper(substr($value, 17, 1));    return ($lastChar === $token); //最后一位校验位校验}

转载地址:http://dbcol.baihongyu.com/

你可能感兴趣的文章
Tomcat 内存溢出对应解决方式
查看>>
Mac下 Thinkphp3.2 语言包问题
查看>>
你意想不到的的编程问题
查看>>
Web Service学习总结
查看>>
新手学JAVA(七)----Override VS Overload
查看>>
二、引入字体图标--iconfont
查看>>
阿里巴巴实习生招聘开始啦
查看>>
浏览器的线程和进程
查看>>
Java笔试题JVM部分
查看>>
使用 Consul 作为 Python 微服务的配置中心
查看>>
简单工厂模式
查看>>
Flutter混合工程开发探究
查看>>
引 jar包时出现 managed怎么处理
查看>>
JavaScript单元测试框架
查看>>
三周学会小程序第三讲:服务端搭建和部署
查看>>
IE浏览器低版本判断及升级提示
查看>>
乳腺增生的早期症状?乳腺增生做什么检查最好
查看>>
iOS 多线程-NSThread
查看>>
区块链100讲:关于DApp的问与答
查看>>
【缺缺缺人】杭州阿里飞猪招前端端端
查看>>