JS怎么通过身份证号码获取出生年月日并判断出生年月格式是不是正确

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS怎么通过身份证号码获取出生年月日并判断出生年月格式是不是正确相关的知识,希望对你有一定的参考价值。

(主要是判断格式是否正确这个问题)

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>js根据身份证获取生日</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
<script>
var UUserCard = \'430503199804244511\';
function isCard(val) 
var re = /^\\d6(((19|20)\\d2(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\d3([0-9]|x|X))|(\\d2(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\d3))$/;
     if(!re.test(val)) 
 alert("身份证号码有误,请重新填写!");
return false;
 else 
return true;



if (isCard(UUserCard)) 
console.log(UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14));

</script>
</body>

</html>

详细链接

参考技术A

身份证号总共18位,最后一位可能是字母X。
1-6位是地区码,7-10位是出生年份,11-12是出生月份,13-14是出生日期,15-18我也不知道也是有意义的。
通过javascript正则表达式就可以大致判断身份证是否合法。

参考技术B 对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助。 完成形如XXXX-XX-XX样式的出生年月日自动提取公式: 假如身份证号数据在A1单元格,在B1单元格中编辑公式 =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)) 回车确 参考技术C function getBirthdayFromIdCard(idCard) 
var birthday = "";
if (idCard != null && idCard != "") 
if (idCard.length == 15) 
birthday = "19" + idCard.substr(6, 6);
 else if (idCard.length == 18) 
birthday = idCard.substr(6, 8);


birthday = birthday.replace(/(.4)(.2)/, "$1-$2-");

return birthday;

getBirthdayFromIdCard(身份证号)

参考技术D 完成形如XXXX-XX-XX样式的出生年月日自动提取公式: 假如身份证号数据在A1单元格,在B1单元格中编辑公式 =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4

JS通过身份证号码获取出生年月日

getBirthdayFromIdCard : function(idCard) {  
        var birthday = "";  
        if(idCard != null && idCard != ""){  
            if(idCard.length == 15){  
                birthday = "19"+idCard.substr(6,6);  
            } else if(idCard.length == 18){  
                birthday = idCard.substr(6,8);  
            }  
          
            birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");  
        }  
          
        return birthday;  
      },  

// 实例

425125198808083000

// 结果

1988-08-08

以上是关于JS怎么通过身份证号码获取出生年月日并判断出生年月格式是不是正确的主要内容,如果未能解决你的问题,请参考以下文章

sql中判断身份证号码的出生年月是不是正确合法

JS通过身份证号码获取出生年月日

js根据身份证号码解析获取出生年月日性别年龄

excel如何从身份证号码中提取出生年月日

根据身份证号码提取出生年月,在EXCEL中怎么设函数公式?

根据身份证号码提取出生年月,在EXCEL中怎么设函数公式?