`
冷寒冰
  • 浏览: 251560 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

身份证号验证

 
阅读更多

经典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身份证号验证源代码

    本篇文章将深入讲解如何使用Java编写身份证号验证的源代码。 首先,了解身份证号码的基本结构。中国的身份证号码前6位代表地区代码,接着的8位表示出生日期(格式为YYYYMMDD),接下来的3位是顺序码,偶数分配给...

    javascript身份证号码验证-支持15位和18位带x身份证

    在IT行业中,身份证号码验证是常见的一种数据验证方式,特别是在涉及到个人信息处理的系统中。JavaScript作为客户端编程的主要语言,常用于此类验证,确保输入的数据准确无误。本篇将详细探讨如何使用JavaScript进行...

    C++中身份证号码验证代码

    在C++编程中,身份证号码验证是一个常见的任务,主要用于确保用户输入的身份信息是合法的。身份证号码是由18位数字组成,包含个人信息如出生日期、性别和地区编码等。本项目提供的`checkID.cpp`文件应该包含了实现这...

    身份证号码验证程序 javascript验证的html文件

    这个压缩包中的"身份证验证程序.html"文件是一个使用JavaScript编写的HTML页面,它用于验证输入的身份证号码是否合法。以下是对这个知识点的详细阐述: 1. **HTML(超文本标记语言)**:HTML是构建网页的基础,它...

    身份证号验证HTML代码

    身份证号验证 &lt;script src="city.js"&gt;&lt;/script&gt; 请输入身份证号码: 验证 &lt;div id="result"&gt;&lt;/div&gt; document.getElementById('idForm').onsubmit = function(event) { event.preventDefault(); ...

    js身份证号验证

    在JavaScript中,身份证号验证是一个常见的需求,特别是在用户注册、个人信息填写等场景。这个`testCard`函数是用于验证输入的身份证号码是否有效的。函数接受一个参数`papersId`,即待验证的身份证号码字符串。 ...

    C#实现身份证号码验证的方法+Validator v1.05表单验证类.txt

    C#实现身份证号码验证的方法+Validator v1.05表单验证类

    身份证号码验证示例源码.rar

    在这里,你可以找到处理身份证验证逻辑的代码,比如使用正则表达式检查身份证号码的格式,或者调用特定的服务或API来验证身份证号码的真实性。 `from.gif`可能是一个图形文件,可能是表单中的一个图标或者指示性的...

    身份证号码验证示例源码_aspx开发教程.rar

    身份证号码验证示例源码_aspx开发教程

    js身份证号码验证

    js身份证号码验证 详细全面的身份证号码验证

    JAVA身份证号码验证工具

    JAVA身份证号码验证工具,通过身份证号码生成规则,能验证15位、18位身份证号码,必备验证方式

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    一个关于身份证号码验证程序

    你可以使用这些数据来测试你的身份证验证程序,确保其能准确识别有效的身份证号码。 开发这样的验证程序需要掌握基本的编程知识,如变量、条件语句、循环和数组等。常见的编程语言如Python、Java、C#等都可以实现。...

    js 身份证号验证程序

    ### JavaScript 身份证号验证程序详解 #### 一、背景介绍 在现代社会,身份证作为个人身份的重要标识,在各种场景中被广泛应用。因此,对于身份证号码的验证也变得尤为重要。本篇文章将详细介绍一个基于JavaScript...

    身份证号码验证的代码

    这个正则表达式考虑了18位身份证号的格式,包括年份、月份和日期的合法范围,以及校验码的可能值。 2. **自定义函数验证**: 可以编写一个自定义函数,通过计算身份证号码的校验码来验证其有效性。这通常涉及到对...

    身份证号验证程序javascript

    ### 身份证号验证程序JavaScript知识点解析 #### 一、背景介绍 在现代Web开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期格式与规则。身份证号码验证作为其中的一个典型场景,对于确保数据的...

    最全身份证号码验证JS

    最全身份证号码验证JS包含以下内方面内容: 1、验证身份证的长度及格式 2、验证身份证地区是否正确 ...4、验证身份证号最后一位是否正确 5、根据身份证号验证性别 以上内容希望对有需要的人员提供帮助!

    身份证号码验证示例源码2008-4-22

    - 18位身份证号码结构:前6位代表行政区划代码,接着的8位是出生日期,之后的3位是顺序号(奇数分配给男性,偶数分配给女性),最后一位是校验码。 2. **校验码计算** - 身份证号码的校验码通过特定算法计算得出...

    身份证号验证 java 源码

    身份证号验证 java 源码,1、将前面的身份证号码17位数分别乘以不同的系数。 从第一位到第十七位的系数分别为: 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、将这17位数字和系数相乘的结果相加。...

Global site tag (gtag.js) - Google Analytics