输入身份证显示出生年月日.html

本文介绍了一种通过JavaScript从中国身份证号码中解析出生年月日的方法。提供了详细的代码实现,并展示了如何根据不同身份证号码长度(15位或18位)获取出生日期。此外,还包含了调试选项以帮助理解整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入身份证显示出生年月日.html
<script type="text/javascript">
//&lt;![CDATA[
var IdFt = "445121820929367";
var IdEt = "445121198209293677";
var IdEt1 = "445121198209293677x";

document.write(fGetBirthDayById(IdFt, 
falsetrue), "<hr/>");
document.write(fGetBirthDayById(IdFt, 
truetrue).toLocaleDateString(), "<hr/>");

document.write(fGetBirthDayById(IdEt, 
falsetrue), "<hr/>");
document.write(fGetBirthDayById(IdEt1, 
truetrue).toLocaleDateString(), "<hr/>");

function fGetBirthDayById(Id, bReturnDateObj, bDebug)
{// shawl.qiu code : return DateObj Or String
var Debug = bDebug;
if(Id.constructor == String||Id.constructor == Number)
{
Id 
= [Id];
}

Id[
0]+="";
Id[
0= Id[0].replace(/^(d{18}|d{15})(?:[sS]*)/"$1");

var Y, M, D;

switch(Id[0].length)
{
case 15:
= 19+Id[0].slice(68);
= Id[0].slice(810);
= Id[0].slice(1012);
break;

case 18:
= Id[0].slice(610);
= Id[0].slice(1012);
= Id[0].slice(1214);
break;

default:
throw new Error("请输入正确的身份证号码!");
break;
}


if(bDebug)
{
document.write(
"Id[0]: ", Id[0], "<br/>");
document.write(
"Id[0].length: ", Id[0].length, "<br/>");
document.write(
"Y: ", Y, "<br/>");
document.write(
"M: ", M, "<br/>");
document.write(
"D: ", D, "<br/>");
document.write(
"<p/>");
}


if(bReturnDateObj)
{
M
-=1;
return new Date(Y, M, D);
}


return [Y, "-", M, "-", D].join("");
}
 // end function fGetBirthDayById(Id, bReturnDateObj, bDebug)
//
]]&gt;
</script>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rjzou2006

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值