php判断是否为合法身份证号
/**
* 判断是否为合法的身份证号码
* @param $mobile
* @return int
*/
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判断是否为合法身份证号的更多相关文章
- JavaScript验证身份证号
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...
- iOS开发——手机号,密码,邮箱,身份证号,中文判断
目前这些方面的判断主要是用了正则表达式 手机号的判断,目前主要是长度.均是数字,支持的号段由于第三方通讯比如京东通讯,小米通讯等支持的号段挺多, 有171,170,135,147等等,所以号段限制简单 ...
- 最全,可直接用的一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等。
一些正则校验,判断邮箱,手机号码,车牌号,身份证号,网址,账号,密码,ip,去掉html格式,工商税号等. // 判断邮箱 isValid = [text isValidEmail]; // 判断手机 ...
- juqery 判断所有input 不能为空 判断只能为数字 判断身份证号:18位和15位 判断是否银行卡号
//jq 判断某字符串是否含有特殊符号 function CheckNum() { //定义数组保存特殊字符 var AllNumIsSame = new Array("’", & ...
- javascript根据身份证号判断精确周岁年龄
前言: 根据身份证号判断精确周岁年龄,可以精确到天,即周岁以生日当天为准,生日当天周岁+1,少一天则不加. 实现方法: <!DOCTYPE html> <html> <h ...
- sql数据库中如何根据身份证号判断性别
身份证号有15位和18位的..在sql中该如何判断? I_sex ,) ,) then '男' else '女' END
- Java怎样判断身份证号
判断身份证号是否正确使用的是正则,Java与js中使用正则的方式大差不差,下面是Java通过正则判断身份证号是否正确的 * */ @Test public void cardId() { System ...
- js实现填写身份证号、手机号、准考证号等信息自动空格的效果
咱们做网站的,用户体验那是相当重要的,比如12306抢票需要填写身份证,如果不空格,密密麻麻的给我一种很压抑的感觉,而且也不容易核对信息是否填写正确,所以我就写了一个利用Js实现填写身份证号.手机号. ...
- 锋利的js之验证身份证号
我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构 公民 ...
随机推荐
- Linux 常见文件及目录
文件/etc//etc/passwd用户基本信息/etc/group用户组基本信息/etc/shadow/etc/passwd 文件的补充/etc/gshadow阴影口令套组中的组配置文件/etc/l ...
- Android SDK更新失败对策
Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml Failed to fetch URL https:// ...
- 《PHP和MySQL Web开发》读书笔记(下篇)
又与大家见面了.继续<PHP和MySQL Web开发>的总结. Chapter8.设计Web数据库 ·回去看看数据卡那本书吧,这里就不累赘谈这个东西. Chapter9.创建Web数据库 ...
- Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性
动态添加spinner 控件 Spinner s = new Spinner(this); String []items={"自己定义的要显示的数组"}; my_SpinnerAd ...
- jquery对不同id的按钮执行同一类型的操作
不同id执行相同操作: $("#id1,#id2,#id3,#id4") 获取相同class的text值: $(".className").each(funct ...
- javaScript书写规范
命名规范. 常量名 全部大写并单词间用下划线分隔 如:CSS_BTN_CLOSE.TXT_LOADING对象的属性或方法名 小驼峰式(little camel-case) 如: ...
- Web 前端开发规范文档
通用规范: TAB键用两个空格代替(WINDOWS下TAB键占四个空格,LINUX下TAB键占八个空格). CSS样式属性或者JAVASCRIPT代码后加“;”方便压缩工具“断句”. 文件内容编码均统 ...
- 跨站请求伪造(CSRF)攻击原理解析:比你所想的更危险
跨站请求伪造(CSRF)攻击原理解析:比你所想的更危险 跨站请求伪造(Cross-Site Request Forgery)或许是最令人难以理解的一种攻击方式了,但也正因如此,它的危险性也被人们所低估 ...
- 2016.08.02 math(leetcode) 小结
math(leetcode) 小结 在leetcode中有些知识点(套路) 判断一个数是不是能被某些数整除,可以用 n%x == 0,循环除的话,就将while(n%x == 0)的循环条件设置判断整 ...
- jQuery Validate自定义金钱验证,是否为金额格式,保留两位小数,并支持千分制货币格式
//自定义函数实现 isMoney: function (value, element){ // return this.optional(element) || /(^[1-9]([0-9]+)?( ...