国内身份证号码的验证
本方法主要用于国内身份证号码的验证,支持15位与最新的18位身份证号码。
function is_idcard( $id ){$id = strtoupper($id);$regx = "/(^\d{15}$)|(^\d{17}([0-9]|X)$)/";$arr_split = array();if(!preg_match($regx, $id)){return FALSE;}//检查15位if(15==strlen($id)){$regx = "/^(\d{6})+(\d{2})+(\d{2})+(\d{2})+(\d{3})$/";@preg_match($regx, $id, $arr_split);//检查生日日期是否正确$dtm_birth = "19".$arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];if(!strtotime($dtm_birth)){return FALSE;} else {return TRUE;}}else{ //检查18位$regx = "/^(\d{6})+(\d{4})+(\d{2})+(\d{2})+(\d{3})([0-9]|X)$/";@preg_match($regx, $id, $arr_split);$dtm_birth = $arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];//检查生日日期是否正确if(!strtotime($dtm_birth)){return FALSE;}else{//检验18位身份证的校验码是否正确。//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。$arr_int = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);$arr_ch = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');$sign = 0;for ( $i = 0; $i < 17; $i++ ){$b = (int) $id{$i};$w = $arr_int[$i];$sign += $b * $w;}$n = $sign % 11;$val_num = $arr_ch[$n];if ($val_num != substr($id,17, 1)){return FALSE;}else{return TRUE;}}}
}
国内身份证号码的验证相关推荐
- 身份证属地查询,国内身份证号码查询验证(酒店管理系统自动化)
由于最近开发酒店管理系统需要自动填上客户的身份证属地.在网上找了许多数据库,都是旧版本的数据只有3600条左右.想尽量完美一下,就自己写了一机器人程序,自动抓数据(全国公民身份信息系统(NCIIS)) ...
- Js实现中国公民身份证号码有效性验证
2019独角兽企业重金招聘Python工程师标准>>> 参考: Java实现中国公民身份证号码有效性验证 Php实现中国公民身份证号码有效性验证 本文将使用JavaScript实现中 ...
- 【JS】Js二代身份证号码正则验证
Js二代身份证号码正则验证代码: export function checkIDCard(idcode) {// 加权因子var weight_factor = [7,9,10,5,8,4,2,1,6 ...
- VS2022身份证号码信息验证器
(- -)功能说明: 要求:根据以下规则对身份证号码进行验证,运行效果如图3-7所示. (1)号码长度18 位. (2) 18位全是数字. (3)第7~ 10位是出生的年. (4)倒数第2位号码,奇数 ...
- 15位或18位长度身份证号码JS验证
免责声明:身份证号为随机组合而成,不会涉及任何隐私泄密问题,也非现实生活中真实的身份证号码:身份证号码所属年龄均为18岁以上,均已通过校验. var IdNum1 = "3205831986 ...
- Jquery 对 身份证号码的验证 (15/18位)
//欢迎验证.给予指正错误,从好多地方查来的资料修改的...已用本人身份证验证... 由于以前修改的问题无法验证带 X 的身份证号码,已修复!//为值添加0function Append_zore(t ...
- python 身份证号码有效性验证
先声明以下代码不是全部原创,网上找了前辈的一些代码,经过自己的部分加工,有了如下的身份证有效性验证代码: #!/usr/bin/env python3 # -*- coding: utf-8 -*-i ...
- 前端对用户身份证号码进行验证以及模糊显示
一. 需求 后台管理系统项目,展示用户传入身份证号码.现需要验证用户输入的身份证号码的真实性,以及对身份证号码进行模糊显示. 二. 代码验证 2.1 验证身份证号码的真实性 参考的这篇文章:https ...
- JAVA 身份证号码有效性验证
本文转自:http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html </pre><pre name=" ...
最新文章
- Crawler:基于BeautifulSoup库+requests库+伪装浏览器的方式实现爬取14年所有的福彩网页的福彩3D相关信息,并将其保存到Excel表格中
- Elastic Stack简介
- Docker镜像备份与迁移
- keras编写自定义的层
- 数字图像处理—美图秀秀:磨皮算法
- 网络攻防实验(连更)
- java fastjson 格式化_json的格式化展示(基于 fastjson)
- 手机端 js禁止页面滚动
- UML之独孤九剑总纲
- 【LeetCode 深度优先搜索专项】不同岛屿的数量 II(711)
- Android OkHttp是如何上位的?
- 终端命令-文件操作、编辑操作
- [论文学习笔记]01一种轮廓平行扫描算法【3D打印路径规划】
- 怎么用显卡计算_显卡性能的软件 3dmark怎么用
- 英语思维导图大全 非谓语(十二)
- 卡西欧计算机程序,卡西欧计算器编程计算示例
- 博客开张 - 来源 访问分析
- 引用 八卦象数疗法--六腑的生理、病理
- 有一个一维数组,存10个学生成绩,写一个函数求最高分,最低分,平均分
- Mysql 分表 垂直分割_图文解释 读写分离、垂直拆分、水平拆分、分库分表