经典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编写身份证号验证的源代码。 首先,了解身份证号码的基本结构。中国的身份证号码前6位代表地区代码,接着的8位表示出生日期(格式为YYYYMMDD),接下来的3位是顺序码,偶数分配给...
在IT行业中,身份证号码验证是常见的一种数据验证方式,特别是在涉及到个人信息处理的系统中。JavaScript作为客户端编程的主要语言,常用于此类验证,确保输入的数据准确无误。本篇将详细探讨如何使用JavaScript进行...
在C++编程中,身份证号码验证是一个常见的任务,主要用于确保用户输入的身份信息是合法的。身份证号码是由18位数字组成,包含个人信息如出生日期、性别和地区编码等。本项目提供的`checkID.cpp`文件应该包含了实现这...
这个压缩包中的"身份证验证程序.html"文件是一个使用JavaScript编写的HTML页面,它用于验证输入的身份证号码是否合法。以下是对这个知识点的详细阐述: 1. **HTML(超文本标记语言)**:HTML是构建网页的基础,它...
身份证号验证 <script src="city.js"></script> 请输入身份证号码: 验证 <div id="result"></div> document.getElementById('idForm').onsubmit = function(event) { event.preventDefault(); ...
在JavaScript中,身份证号验证是一个常见的需求,特别是在用户注册、个人信息填写等场景。这个`testCard`函数是用于验证输入的身份证号码是否有效的。函数接受一个参数`papersId`,即待验证的身份证号码字符串。 ...
C#实现身份证号码验证的方法+Validator v1.05表单验证类
在这里,你可以找到处理身份证验证逻辑的代码,比如使用正则表达式检查身份证号码的格式,或者调用特定的服务或API来验证身份证号码的真实性。 `from.gif`可能是一个图形文件,可能是表单中的一个图标或者指示性的...
身份证号码验证示例源码_aspx开发教程
js身份证号码验证 详细全面的身份证号码验证
JAVA身份证号码验证工具,通过身份证号码生成规则,能验证15位、18位身份证号码,必备验证方式
你可以使用这些数据来测试你的身份证验证程序,确保其能准确识别有效的身份证号码。 开发这样的验证程序需要掌握基本的编程知识,如变量、条件语句、循环和数组等。常见的编程语言如Python、Java、C#等都可以实现。...
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
### JavaScript 身份证号验证程序详解 #### 一、背景介绍 在现代社会,身份证作为个人身份的重要标识,在各种场景中被广泛应用。因此,对于身份证号码的验证也变得尤为重要。本篇文章将详细介绍一个基于JavaScript...
这个正则表达式考虑了18位身份证号的格式,包括年份、月份和日期的合法范围,以及校验码的可能值。 2. **自定义函数验证**: 可以编写一个自定义函数,通过计算身份证号码的校验码来验证其有效性。这通常涉及到对...
### 身份证号验证程序JavaScript知识点解析 #### 一、背景介绍 在现代Web开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期格式与规则。身份证号码验证作为其中的一个典型场景,对于确保数据的...
最全身份证号码验证JS包含以下内方面内容: 1、验证身份证的长度及格式 2、验证身份证地区是否正确 ...4、验证身份证号最后一位是否正确 5、根据身份证号验证性别 以上内容希望对有需要的人员提供帮助!
- 18位身份证号码结构:前6位代表行政区划代码,接着的8位是出生日期,之后的3位是顺序号(奇数分配给男性,偶数分配给女性),最后一位是校验码。 2. **校验码计算** - 身份证号码的校验码通过特定算法计算得出...
身份证号验证 java 源码,1、将前面的身份证号码17位数分别乘以不同的系数。 从第一位到第十七位的系数分别为: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、将这17位数字和系数相乘的结果相加。...