经典js身份证验证
/*
功能:验证身份证号码是否有效
提 示信息:未输入或输入身份证号不正确!
使用:validateIdCard(obj)
返回:0,1,2,3
*/
function validateIdCard(obj)
{
var aCity={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:"国 外"};
var iSum = 0;
//var info = "";
var strIDno = obj;
var idCardLength = strIDno.length;
if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))
return 1; //非法身份证号
if(aCity[parseInt(strIDno.substr(0,2))]==null)
return 2;// 非法地区
// 15位身份证转换为18位
if (idCardLength==15)
{
sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));
var d = new Date(sBirthday.replace(/-/g,"/"))
var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();
if(sBirthday != dd)
return 3; //非法生日
strIDno=strIDno.substring(0,6)+"19"+strIDno.substring(6,15);
strIDno=strIDno+GetVerifyBit(strIDno);
}
// 判断是否大于2078年,小于1900年
var year =strIDno.substring(6,10);
if (year<1900 || year>2078 )
return 3;//非法生日
//18位身份证处理
//在后面的运算中x相当于数字10,所以转换成a
strIDno = strIDno.replace(/x$/i,"a");
sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));
var d = new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
return 3; //非法生日
// 身份证编码规范验证
for(var i = 17;i>=0;i --)
iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);
if(iSum%11!=1)
return 1;// 非法身份证号
// 判断是否屏蔽身份证
var words = new Array();
words = new Array("11111119111111111","12121219121212121");
for(var k=0;k<words.length;k++){
if (strIDno.indexOf(words[k])!=-1){
return 1;
}
}
return 0;
}
分享到:
相关推荐
java身份证号验证源代码
网上很多关于身份证校验的javascript代码,不过都没给全,以下是我添加全了函数一起提供的,希望对大家有所帮助。 javascript身份证号码验证-支持18位带x身份证。
C#实现身份证号码验证的方法+Validator v1.05表单验证类
身份证号码验证示例源码_aspx开发教程
js身份证号码验证 详细全面的身份证号码验证
JAVA身份证号码验证工具,通过身份证号码生成规则,能验证15位、18位身份证号码,必备验证方式
最全身份证号码验证JS包含以下内方面内容: 1、验证身份证的长度及格式 2、验证身份证地区是否正确 ...4、验证身份证号最后一位是否正确 5、根据身份证号验证性别 以上内容希望对有需要的人员提供帮助!
身份证号验证 java 源码,1、将前面的身份证号码17位数分别乘以不同的系数。 从第一位到第十七位的系数分别为: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、将这17位数字和系数相乘的结果相加。...
js身份证号验证,jQuery验证身份证号是否有效
根据身份证的校验规则对18位或者15位进行校验,利用python进行编程
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
简单的身份证号验证程序,可以判断省份证号输入是否正确,显示出生日期,年龄等相关信息
身份证号码验证示例源码功能还不错的一个东西吧
身份证号码验证算法 (一) 18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码 + 八位数字出生日期码 + 三位数字顺序码 + 一位校验码。...
能够根据输入身份证号码进行判断,检测输入是否正确,是否为符合要求的身份证号码
这个代码实现了一个简单的身份证号码验证。首先定义了一个名为IDCardValidator的类,并在main()方法中定义了一个待验证的身份证号码。然后调用validateIDCard()方法进行验证,并将结果输出到控制台。在...
用汇编语言实现身份证号码验证功能,能够判断某个身份证号码是否是合法的,如果是合法的,则输出该身份证号码所有者的性别,出生日期,以及他/她的籍贯(用省份首字母表示)。并附有相关的课程设计报告。
一个很好的前台身份证号码验证程序,是用javascript写的程序。可以保证传到服务器端的是真实存在的身份证号码。
有关于身份证号码验证的代码 c# 资源共享 多多学习
身份证号码验证示例源码 <br>中国身份证号码验证,支持15,18位,可验证成功90%的身份证号 利用正则进行身份证算法验证 <br>非常不错