您的位置:

java身份证解析出生日期少一天,java身份证截取出生日期

本文目录一览:

用Java从任意给定的身份证号码中提取此人的出生日期

用Java从任意给定的身份证号码中提取此人的出生日期,例子如下:

public class TestC {

public static void main(String[] args){

//18位的第二代身份证,出生日期是从7位到14位是出生日期

String str="450919199903050123";

//字符串截取下标从0开始的

String birthday=str.substring(6, 14);

System.out.println(birthday);

}

}

结果:

19990305

java身份证号位数校验

function checkIdcard(num)

{

num = num.toUpperCase();

//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。

if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))

{

//alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。');

return false;

}

//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。

//下面分别分析出生日期和校验位

var len, re;

len = num.length;

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('输入的身份证号里出生日期不对!');

return false;

}

else

{

//将15位身份证转成18位

//校验位按照ISO 7064:1983.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 true;

}

}

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

{

//检验18位身份证的校验码是否正确。

//校验位按照ISO 7064:1983.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('18位身份证的校验码不正确!应该为:' + valnum);

return false;

}

return true;

}

}

return false;

}

var result = checkIdcard(sfzh);

if (!result)

{

$.messager.alert('提示信息','身份证号码格式不正确');

return;

}

java校验身份证号码,解析出生日期,年龄,身份证是否有效

对身份证的话就要比对字数,生日的额话就要比对的是个数还有不能为非数字,年龄的话不能小于零或者大于200

身份证的出生日期可以改吗? 就改少一天

不可以的,因为你的身份证号已经生成,它将成为你身份的一个标识,身份证上与本人生日不符的有很多,大都是因为报户口时报错或阴历换阳历换错,这对本人影响并不是很大,一般派出所是不会给你改的,

身份证上的出生日期和自己实际出生日期不一样有问题吗?

当然有问题,如果有出生证明,可以去派出所申请变更身份证年龄。

1 、办理条件:

出生日期原则上不得更改。公民实际出生日期与居民户口簿登记出生日期不一致的,可以申请更正出生日期。 

公民申请更正出生日期,有下列情形之一的,不予 受理: 

(1)组织、人事部门管理的干部,本人要求确定或者更改的; 

(2)1996年1月1日以后出生,已依据《出 生医学证明》申报户口,要求更改的; 

(3)正在服刑或者被劳动教养、采取刑事强制措施的; 

(4)作为当事人的民事案件尚未审结或者尚未执行完毕的; 

(5)申报户口登记时对出生日期已签字确认的; 

(6)已更正出生日期的; 

(7)变更姓名未满三年的。 

2 、办理手续:

公民申请更正出生日期,应提交以下材料

①书面申请报告;

②居民户口簿、居民身份证;

③公安机关原始户籍资料;

④原始户籍资料登记地公安派出所出具的出生日期更改情况说明。凡无法提交原始户籍资料的,原则上不予办理,特殊情况公安机关 要认真调查核实。对依据原始户籍资料申请变更出生日期的,在提交的原始户籍资料复印件上需注明出处、审核人、日期,并加盖所属派 出所户口专用章。

1996年 1月1日以后出生的公 民申请变更出生日期的,需提交在派出所申报户口的原始材料。对确系户口登记差错且查找不到原始户籍资料的公民申请变更出生日期的 ,要持慎重态度,需提交所属派出所出具的查找不到原始户籍资料的证明、其母亲在医院住院分娩记录、儿童预防接种登记表、独生子女 证、学籍登记表、毕业证书、最先记载出生日期的人事档案资料、持有的老户口簿或第一代居民身份证的原件复印件、责任区民警调查报 告等证明材料,所提交的证明材料必须相互印证,出生日期有涂改的原始户籍资料、单一的证明材料和新近补发的《出生医学证明》不得 作为变更出生日期的依据。 

3.办理程序:

由公民向户口所在地公安派出所提出申请,派出所受理后,经派出所 、县级公安机关调查核实报县级公安机关审批后办理。

实际出生日期与身份证上面不同,误报了一天,本来是农历9月初7,身份证上是9月6日,那么算命测字以哪为准

当然是自己的农历9月初7啦!

不过这个测字千万要自己知道

小心别人害你

(例如:你工作很好,有人和你上司说你的八字和上司冲了,结果。。。。。。 只是假设,一切后果和本人无关)