身份证验证php
/**
* 验证身份证号
* @param $vStr
* @return bool
*/
function
isCreditNo(
$vStr
)
{
$vCity
=
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'
);
if
(!preg_match(
'/^([\d]{17}[xX\d]|[\d]{15})$/'
,
$vStr
))
return
false;
if
(!in_array(
substr
(
$vStr
, 0, 2),
$vCity
))
return
false;
$vStr
= preg_replace(
'/[xX]$/i'
,
'a'
,
$vStr
);
$vLength
=
strlen
(
$vStr
);
if
(
$vLength
== 18)
{
$vBirthday
=
substr
(
$vStr
, 6, 4) .
'-'
.
substr
(
$vStr
, 10, 2) .
'-'
.
substr
(
$vStr
, 12, 2);
}
else
{
$vBirthday
=
'19'
.
substr
(
$vStr
, 6, 2) .
'-'
.
substr
(
$vStr
, 8, 2) .
'-'
.
substr
(
$vStr
, 10, 2);
}
if
(
date
(
'Y-m-d'
,
strtotime
(
$vBirthday
)) !=
$vBirthday
)
return
false;
if
(
$vLength
== 18)
{
$vSum
= 0;
for
(
$i
= 17 ;
$i
>= 0 ;
$i
--)
{
$vSubStr
=
substr
(
$vStr
, 17 -
$i
, 1);
$vSum
+= (pow(2,
$i
) % 11) * ((
$vSubStr
==
'a'
) ? 10 :
intval
(
$vSubStr
, 11));
}
if
(
$vSum
% 11 != 1)
return
false;
}
return
true;
}
身份证验证php的更多相关文章
- 身份证验证JS代码
身份证验证JS程序function checkidcardfun(code) { var city = {11: "北京", 12: "天津", 13: &qu ...
- java身份证验证
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- jQuery身份证验证插件
jQuery身份证验证插件 /*! * jQuery isIDCard Plugin v1.0.0 * http://www.cnblogs.com/cssfirefly/p/5629561.html ...
- java对身份证验证及正则表达式解析
原文地址:http://www.cnblogs.com/zhongshengzhen/ java对身份证验证及正则表达式解析 package service; import java.text.Par ...
- Jsp注册页面身份证验证
<!--身份证验证 --><script type="text/javascript">function isCardNo(Idcardnumber) { ...
- C#实现中国身份证验证问题
C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准... 今天写的 C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准... 理论部分: 1 ...
- 【NumberValidators】大陆身份证验证
需要说明的是这里的大陆身份证识别并不是公安局联网的识别,而是按国标GB 11643进行的验证,所以其验证结果只能说符合国标规范,但不能保证该身份证一定真实存在,如果你实际需求是希望身份证一定真实存在, ...
- Java正则表达式实现港、澳、台身份证验证
最近由于业务的要求,需要进行港.澳.台人员身份证验证,现在直接上代码,经供参考学习,也为自己积累一些工具类: package com.qiu.validate; public class regexV ...
- js邮箱验证,身份证验证,正则表达式
邮箱验证: html部分: 邮箱验证:<input type="text" id="mail" value="" / onkeyup= ...
- Java基础之身份证验证
//简约版package test; import java.util.Scanner; public class ID { /** * 匹配算法 : 1) 得到17位身份证号码与下面给出的17位 2 ...
随机推荐
- HMM笔记
参考资料: 1.https://www.bilibili.com/video/av24132174/?p=4 2.<数学之美>-吴军 3.<统计学习方法>-李航 HMM(Hid ...
- C# 获取UTC 转换时间戳为C#时间
获取UTC /// <summary> /// 获取时间戳 /// </summary> /// <returns>UTC</returns> publ ...
- 由OpenResty粘合的企业Web架构
前言: 2012年2月章亦春(agentzh)在Tech-Club的一次线下聚会上以<由Lua 粘合的Nginx生态环境>为主题做了演讲,分析了企业Web架构的趋势,即一个看起来完整 ...
- 北京Uber优步司机奖励政策(2月1日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 天津Uber优步司机奖励政策(12月14日到12月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- spring源码-bean之增强初始化-3
一.ApplicationContext的中文意思是“应用上下文”,它继承自BeanFactory接口,除了包含BeanFactory的所有功能之外,在国际化支持.资源访问(如URL和文件).事件传播 ...
- gdb 分析出错
1 创建测试代码test.php <?php function test1(){ while(true){ sleep(1); } }echo getmypid() "\r\n&quo ...
- 「日常训练」Paths and Trees(Codeforces Round 301 Div.2 E)
题意与分析 题意是这样的,定义一个从某点出发的所有最短路方案中,选择边权和最小的最短路方案,称为最短生成树. 现在求一棵最短生成树,输出总边权和与选取边的编号. 我们首先要明白这样一个结论:对一个图求 ...
- Qt-序列号生成器
一直想做一个序列号的生成器,今天终于有了开始了,目前只有读取硬件生成,还没有做生成序列号的规则. 目前实现的功能就是读取系统磁盘卷加上CPU ID 和自己的加密字符串,在利用MD5加密,转换成标准32 ...
- HDU - 3415(DP + 单调队列)
链接:HDU - 3415 题意:给出一个包含 n 个数的环,求满足长度大于 0 小于等于 k 的最大区间和. 题解:将数组加倍,形成环.求一个前缀和sum.枚举每一个sum[i],以 i 结尾的最大 ...