澳门新萄京身份证验证程序,15位和18位身份证的
分类:服务器

平日来讲所示:复制代码 代码如下: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:"香港(Hong Kong卡塔尔",82:"火奴鲁鲁",91:"海外"} function isCardID{ var iSum=0 ; var info="" ; if$/i.test return "你输入的居民身份证尺寸或格式错误"; sId=sId.replace; if(aCity[parseInt]==null卡塔尔 return "你的居民身份证地区违规"; sBirthday=sId.substr "-" Number "-" Number; var d=new Date(sBirthday.replace ; if(sBirthday!= "-" "-" d.getDatereturn "身份ID上的出生辰期违法"; for iSum = * parseInt,11卡塔尔 ; if return "你输入的身份ID号违规"; return true;//aCity[parseInt] "," sBirthday "," %2?"男":"女") }

居民身份证声明程序

 

<script>
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:"国外"}

function cidInfo(sId){
if(sId.length==15)
{
 sId = sId.replace(/([d]{6})(d{9})/,"$119$2x");
}
 var iSum=0
 var info=""
 if(!/^d{17}(d|x)$/i.test(sId))return false;
 sId=sId.replace(/x$/i,"a");
 if(aCity[parseInt(sId.substr(0,2))]==null卡塔尔return "Error:违法地带";
 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(卡塔尔(英语:State of Qatar) "-" (d.getMonth(卡塔尔(英语:State of Qatar) 1卡塔尔国 "-" d.getDate(卡塔尔(英语:State of Qatar)卡塔尔卡塔尔(قطر‎return "Error:违法生日";
 for(var i = 17;i>=0;i --) iSum = (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
 if(iSum!=1卡塔尔(英语:State of Qatar)return "Error:违规证号";
 return aCity[parseInt(sId.substr(0,2))] "," sBirthday "," (sId.substr(16,1)%2?"男":"女")
}
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
document.write(cidInfo("340524800101001"),"<br/>");
</script>

script var aCity={11:北京,12:天津,13:河北,14:山西,15:内蒙古,21:辽宁,22:吉林,23:黑龙江,31:上海,32:江苏,33:浙江,34:安徽,35:福建,36:江...

1、轻巧的正则表明式:

 

(1)preg_match("/^(d{18,18}|d{15,15}|d{17,17}x)$/",$id_card)
(2)preg_match("/^(d{6})(18|19|20)?(d{2})([01]d)([0123]d)(d{3}) (d|X)?$/",$id_card)
(3)preg_match("/(^d{15}$/)|(d{17}(?:d|x|X)$/),$id_card)

2、复杂并且严俊一些的证实:

//那些能够申明14个人和贰11人的居民身份证,何况带有寿诞和校验位的辨证。  
//假如有意思味,还足以增添居民身份证所在地的验证,正是前6位某个数字合法某些数字违法。

function isIdCardNo(num)
{  
          num = num.toUpperCase();
         //居民身份证号码为拾几个人依然十11人,十三人时全为数字,拾陆人前贰十二位为数字,最终壹个人是校验位,或者为数字或字符X。  
          if (!(/(^d{15}$)|(^d{17}([0-9]|X)$)/.test(num)))  
          {
               alert('输入的居民身份证号长度不对,只怕号码不切合规定!n14位号码应全为数字,贰十一人号码最后一位可感觉数字或X。'卡塔尔(英语:State of Qatar);
              return false;
         }
//校验位依据ISO 7064:1982.MOD 11-2的规定生成,X能够以为是数字10。
澳门新萄京身份证验证程序,15位和18位身份证的正则表达式及其验证。//上面分别深入分析出生辰期和校验位
var len, re;
len = num.length;
澳门新萄京身份证验证程序,15位和18位身份证的正则表达式及其验证。if (len == 15)
{
re = new RegExp(/^(d{6})(d{2})(d{2})(d{2})(d{3})$/);
var arrSplit = num.match(re);

//检查生日日期是不是正确
var dtmBirth = new Date('19' arrSplit[2] '/' arrSplit[3] '/'

  • arrSplit[4]);
    var bGoodDay;
    bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
    if (!bGoodDay)
    {
              alert('输入的身份ID号里出破壳日期不对!'卡塔尔;  
               return false;
    }
    else
    {
    //将15个人身份ID转成二十五个人
    //校验位根据ISO 7064:1982.MOD 11-2的明显生成,X能够以为是数字10。
              var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
               var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
               var nTemp = 0, i;  
                num = num.substr(0, 6) '19' num.substr(6, num.length - 6);
               for(i = 0; i < 17; i )
              {
                    nTemp = num.substr(i, 1) * arrInt[i];
               }
               num = arrCh[nTemp % 11];  
                return num;  
    }  
    }
    if (len == 18)
    {
    re = new RegExp(/^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$/);
    var arrSplit = num.match(re);

//检查生辰日期是或不是科学
var dtmBirth = new Date(arrSplit[2] "/" arrSplit[3] "/" arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
alert(dtmBirth.getYear());
alert(arrSplit[2]);
alert('输入的居民身份证号里出生辰期不对!'卡塔尔(قطر‎;
return false;
}
else
{
//考验19人居民身份证的校验码是或不是科学。
//校验位依照ISO 7064:一九八二.MOD 11-2的规定生成,X能够认为是数字10。
var valnum;
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
for(i = 0; i < 17; i )
{
nTemp = num.substr(i, 1) * arrInt[i];
}
valnum = arrCh[nTemp % 11];
if (valnum != num.substr(17, 1))
{
alert('十多少人身份ID的校验码不得法!应为:' valnum卡塔尔国;
return false;
}
return num;
}
}
return false;
}
3、严刻的证实:
<script>
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:"新Unbsp;疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "}

function cidInfo(sId){
var iSum=0
var info=""
if(!/^d{17}(d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null卡塔尔return "Error:违规地带";
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(卡塔尔(英语:State of Qatar)卡塔尔国卡塔尔(قطر‎return "Error:违规寿诞";
for(var i = 17;i>=0;i --) iSum = (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
澳门新萄京,if(iSum!=1卡塔尔(قطر‎return "Error:违规证号";
return aCity[parseInt(sId.substr(0,2))] "," sBirthday "," (sId.substr(16,1)%2?" 男":"女")
}
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
</script>

本文由澳门新萄京发布于服务器,转载请注明出处:澳门新萄京身份证验证程序,15位和18位身份证的

上一篇:澳门新萄京JS实现仿百度输入框自动匹配功能的示 下一篇:没有了
猜你喜欢
热门排行
精彩图文