js 身份证号码验证-支持新的带x身份证

js 身份证号码验证-支持新的带x身份证

function isidcardno(sid){
 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="";
 if(!/^d{17}(d|x)$/i.test(sid)&&!/^d{15}$/i.test(sid))return false;
 sid=sid.replace(/x$/i,"a");
 if(acity[parseint(sid.substr(0,2))]==null)return false;
 
 switch(sid.length){
  case 15:
   sbirthday="19"+sid.substr(6,2)+"-"+number(sid.substr(8,2))+"-"+number(sid.substr(10,2));
   var d=new date(sbirthday.replace(/-/g,"/"));
   if(sbirthday!=(d.getfullyear()+"-"+ (d.getmonth()+1) + "-" + d.getdate()))return false;
  break;
  case 18:
   sbirthday=sid.substr(6,4)+"-"+number(sid.substr(10,2))+"-"+number(sid.substr(12,2));
   var d=new date(sbirthday.replace(/-/g,"/"));
   if(sbirthday!=(d.getfullyear()+"-"+ (d.getmonth()+1) + "-" + d.getdate()))return false;
   for(var i = 17;i>=0;i --) isum += (math.pow(2,i) % 11) * parseint(sid.charat(17 - i),11);
   if(isum%11!=1)return false;
  break;
 }
 return true;
}
调用方法

//简单验证身份证
function c_sfz(v){
 return isidcardno(v)? true:false;
    //return /^(?:d{15}|d{18}|d{17}[a-za-z])$/.test(v);
}

 

时间: 2024-07-30 18:27:31

js 身份证号码验证-支持新的带x身份证的相关文章

身份证号码验证-支持新的带x身份证

//--身份证号码验证-支持新的带x身份证function isIdCardNo(num) {    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);    var error;    var varArray = new Array();    var intValue;    var lngProduct = 0;    var intCheckDigit;    var intStrLen = num.len

javascript身份证号码验证函数支持带x

  //--身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); var error; var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber

js实现身份证号码验证的简单实例

 本篇文章主要是对js实现身份证号码验证的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 以下是根据身份证号码编码规则,使用JS对其进行有效性验证代码   IdCard-Validate.js代码如下:     代码如下: /**  * 身份证15位编码规则:dddddd yymmdd xx p   * dddddd:地区码   * yymmdd: 出生年月日   * xx: 顺序类编码,无法确定   * p: 性别,奇数为男,偶数为女  * <p />  * 身份证18位编

js实现二代身份证号码验证详解_javascript技巧

废话少说,直接上代码,注释里解析的很清楚了,这里就不BB了. 复制代码 代码如下: /* 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.  地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码.  出生日期码表示编码对象出生的年.月.日,其中年份用四位数字表示,年.月.日之间不用分隔符.  顺序

15/18位身份证号码验证的正则表达式总结(详细版)

前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM dd 375 0     十八位 xxxxxx    yy MM dd   75 0     十五位 地区: [1-9]\d{5} 年的前两位: (18|19|([23]\d))            1800-2399 年的后两位: \d{2} 月份: ((0[1-9])|(10|11|12)) 天

中国身份证号码验证

 using System; /// <summary> /// Summary description for IDCardValid /// </summary> public class IDCardValid { public IDCardValid() { // // TODO: Add constructor logic here // } /// <summary> /// 验证身份证号码 /// </summary> /// <para

asp.net 中国身份证号码验证代码 非正则_实用技巧

复制代码 代码如下: using System; /// <summary> /// Summary description for IDCardValid /// </summary> public class IDCardValid { public IDCardValid() { // // TODO: Add constructor logic here // } /// <summary> /// 验证身份证号码 /// </summary> //

javascript身份证号码验证

https://github.com/oxcow/id-number-validator 版权声明: 关于<javascript身份证号码验证>的一切权利归作者@Leeyee所有: 非商用.非衍生; 如需转载需要注明来源于http://iyiguo.net/blog/2013/07/31/javascript-idcard-validate/ 15位身份证号码编码规则 18位身份证号码编码规则 校验规则 javascript编码实现 源代码 验证示例 15位身份证号码编码规则 ddddddyy

不要再喊“谁给我一个身份证号码验证的代码”了,脚本之家站长提供了_应用技巧

QQ群里的兄弟问"谁给我一个身份证号码验证的代码"正好我也需要就从网上找了下代码,感觉不错,适合15和18位的身份证,网上好的垃圾站,都是直接采集csdn的问题,答案都没有,汉 用javascript验证15位或18位身份证号码 ,最离谱的事,竟然有人搜给我一个身分证号码,给我一个身份证看样大家很厉害啊,有可能大家是要一个身份证生成器吧,好的,我提供下吧 复制代码 代码如下: function   checkIDCard   (str)        {   //身份证正则表达式(15