文档章节

PHP身份证验证

o
 osc_wws45aot
发布于 2019/08/21 11:19
字数 248
阅读 7
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

/**
* 身份证号码验证(真正要调用的方法)
* @param $id_card 身份证号码
*/
function validation_filter_id_card($id_card)
{
if (strlen($id_card) == 18) {
$idcard_base = substr($id_card, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($id_card, 17, 1))) {
return false;
} else {
return true;
}
} elseif ((strlen($id_card) == 15)) {
// 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
if (array_search(substr($id_card, 12, 3), array('996', '997', '998', '999')) !== false) {
$idcard = substr($id_card, 0, 6) . '18' . substr($id_card, 6, 9);
} else {
$idcard = substr($id_card, 0, 6) . '19' . substr($id_card, 6, 9);
}
$idcard = $idcard . idcard_verify_number($idcard);
if (strlen($idcard) != 18) {
return false;
}
$idcard_base = substr($idcard, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))) {
return false;
} else {
return true;
}
} else {
return false;
}
}


/**
* 计算身份证校验码,根据国家标准GB 11643-1999
* @param $idcard_base 身份证号码
*/
function idcard_verify_number($idcard_base)
{
if (strlen($idcard_base) != 17) {
return false;
}
//加权因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
//校验码对应值
$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$checksum = 0;
for ($i = 0; $i < strlen($idcard_base); $i++) {
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
PHP验证身份证格式

互联网公司对身份证验证的需求越来越多,然而普通的小公司是无法对接公安部门的身份认证系统的。几乎都是在网上买一些大的互联网公司的一些认证服务。即使是便宜一些的认证价格也达到了10万次...

osc_gh68xcjy
04/16
2
0
大陆居民身份证、港澳台居民居住证 Composer 包:验证、获取基本信息以及生成假数据

IdValidator.php 中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具(PHP Composer 版)支持 15 位与 18 位号码。基于 JavaScript 版本...

osc_nmvhliqx
2018/09/10
4
0
php 实现身份证验证

//身份证号验证

virhuiai
2013/05/02
312
1
中国居民居住证号码验证工具--开源

IdValidator.php(https://github.com/jxlwqq/id-validator) 中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具(PHP Composer 版)支...

osc_02hzs6k2
2019/07/05
14
0
身份证号验证(兼容15,18位)

份证号验证(兼容15,18位) ,注册验证的时候可以用上。 <?php //比较菜鸟 第一次分享代码 //身份证号验证 function checkIdCard(){ if( empty($_POST[ 'idcard'])){ return false; } $idcard......

king98
2013/09/06
50
0

没有更多内容

加载失败,请刷新页面

加载更多

Python骚操作 | 川普的嘴,骗人的鬼!

↑ 关注 + 星标 ,后台回复【 大礼包 】送你Python自学大礼包 阅读文本大概需要 3 分钟 前几天,川普又在推特因为宣扬暴力翻车了,不过,对于这位翻车王来说,已经是常规操作了。在推特上指点...

Python绿色通道
06/19
0
0
(五)改掉这些坏习惯,还怕写不出精简的代码?

鲁迅说:嬉笑怒骂里充满了无奈和妥协。 小猿说:先生说的不对,在程序员的世界里,编写代码处处充满了无奈和妥协。 Code Review 是一场苦涩但有意思的修行。 (一)改掉这些坏习惯,还怕写不...

一猿小讲
06/15
4
0
Linus:我们都老了,但Linux维护后继无人

点击上方“五分钟学算法”,选择“星标”公众号 重磅干货,第一时间送达 来自:大数据文摘(ID:BigDataDigest)出品 来源:theregister 编译:笪洁 本周在线举行的开源峰会和嵌入式Linux会议...

五分钟学算法
07/08
5
0
腾讯应用宝:首次上传演示视频需要去腾讯视频进行实名认证的操作

前段时间打算把刚开发好的Android应用上架到腾讯的应用宝商店,但是由于业务的需要,需要上传App的操作演示视频,由于是首次在应用宝上面上架App,需要处理的东西太多,这里就不再一一介绍,...

sanzhanggui
2019/12/14
0
0
祝大家端午节快乐!

端午节快乐 本文分享自微信公众号 - 嘉为科技(canway_service)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

嘉为科技
06/24
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部