输入身份证显示出生年月日.html
<script type="text/javascript">
//<
document.write(fGetBirthDayById(IdFt, false, true), "<hr/>");
document.write(fGetBirthDayById(IdFt, true, true).toLocaleDateString(), "<hr/>");

document.write(fGetBirthDayById(IdEt, false, true), "<hr/>");
document.write(fGetBirthDayById(IdEt1, true, true).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:
Y = 19+Id[0].slice(6, 8);
M = Id[0].slice(8, 10);
D = Id[0].slice(10, 12);
break;

case 18:
Y = Id[0].slice(6, 10);
M = Id[0].slice(10, 12);
D = Id[0].slice(12, 14);
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)
//]]>
</script>
<script type="text/javascript">
//<
document.write(fGetBirthDayById(IdFt, false, true), "<hr/>");
document.write(fGetBirthDayById(IdFt, true, true).toLocaleDateString(), "<hr/>");
document.write(fGetBirthDayById(IdEt, false, true), "<hr/>");
document.write(fGetBirthDayById(IdEt1, true, true).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:
Y = 19+Id[0].slice(6, 8);
M = Id[0].slice(8, 10);
D = Id[0].slice(10, 12);
break;
case 18:
Y = Id[0].slice(6, 10);
M = Id[0].slice(10, 12);
D = Id[0].slice(12, 14);
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)
//]]>
</script>
身份证号解析出生日期
本文介绍了一种通过JavaScript从中国身份证号码中解析出生年月日的方法。提供了详细的代码实现,并展示了如何根据不同身份证号码长度(15位或18位)获取出生日期。此外,还包含了调试选项以帮助理解整个过程。


769

被折叠的 条评论
为什么被折叠?



