第一种
方法:
注册页面需要对
用户有更严格的要求,对js的ID验证需要合法,由本
系统严格的
功能,从而过滤掉大量的水。
很多时候,我们使用一组正则表达式来确定身份证是否有效。你对身份证的构成了解多少让我们谈谈ID号中包含了多少信息:
1,数字的结构
公民身份号码是一种特征组合码,它由十七位数字本体和一位校验码组成,从左到右依次为六位
地址码、八位数字码、三位序列码和一位校验码。
2,地址码(前六位)
该县行政区划代码(市、旗、区)的编码对象常住户口所在地按GB / t2260的规定
执行。
3,出生
日期(第七至十四)
年、月和日的编码对象的诞生是根据GB / t7408规则执行和代码不是一年之间,隔月,日和代码。
4,序列码(第十五到十七位)
表明在同一个月内分配给男性的奇数分配给男性,甚至女性。
5。校验码(第十八位数)
作为尾号的校验码,按统一的公式的数量单位编制的,如果人的尾号是0 - 9,没有X,但如果尾号是10,那么你必须用X代替,因为如果用10做尾号,那么这个人身份证19位。X是10罗马的号码,取代10 x,可以保证公民的身份证是在符合国家标准。
在知道ID号结构的每个部分的含义之后,我们开始进入主题:
1。确定一个民族地区的
目标 无功容量= { 11:12:北京
2、正则表达式判断
功能iscardid(SID){
var ISUM = 0;
var;
如果(! / ^ D { 17 }( D | x)$ / i.test(SID))返回或
输入身份证格式
错误的长度;
SID = sid.replace( / /我X美元,);
如果(一{ parseInt(sid.substr(0,2))} = = null)返回你的身份证是违法的;
生日= sid.substr(6,4)+-+数字(sid.substr(10,2))+-+数字(sid.substr(12,2));
var a新的日期(sbirthday.replace( / / g, / ));
如果(生日!=(d.getfullyear()+-+(d.getmonth()+ 1)+-+ d.getdate()))回归的身份证上的出生日期是违法的;
对于(var i = 17;我> = 0;我ISUM(数学。战俘)=(2,i)% 11)* parseInt(sid.charat(17 -),11);
如果(ISUM % 11!= 1)返回您的输入ID号是非法的;
/ /城市{ parseInt(sid.substr(0,2)} +)
返回true;
}
第二方法:
功能sccard(){
无功sctype = document.getelementbyid(sc_card_type )的价值;
如果(sctype = =1){
无功sccard = document.getelementbyid(sc_card_num )的价值;
如果(sccard.length!= 0){
如果(!checkcard(sccard)){
$(# errortips)。Html(错误的身份证号码格式);
其他{ }
$(# errortips)。Html();
}
}
}
返回false;
}
/ /功能checkidno(obj){
无功vcity = { 11:北京
21:辽宁
33:浙江
42:湖北
51:四川
63:青海
};
checkcard =功能(obj)
{
/ / var卡= document.getelementbyid('card_no)的价值;
是空的
(如果=)
{ /
返回/ false;
/