js实现根据身份证号自动生成出生日期
时间: 2024-01-21 17:02:49 浏览: 22
可以通过以下代码实现:
```javascript
function generateBirthdayFromIdCard(idCard) {
// 通过正则表达式提取身份证中的出生日期信息
let birthday = idCard.match(/\d{6}(\d{4})\d{2}\d{2}/);
if (birthday != null) {
// 截取出生日期并格式化为年月日形式
return birthday[1].substr(0, 4) + "-" + birthday[1].substr(4, 2) + "-" + birthday[1].substr(6, 2);
} else {
return "";
}
}
// 示例
console.log(generateBirthdayFromIdCard("510101199001011234")); // 输出:1990-01-01
```
通过正则表达式提取身份证中的出生日期信息,然后截取出生日期并格式化为年月日形式。需要注意的是,以上代码仅适用于18位身份证号码。
相关问题
js 获取身份证号的出生日期
可以使用正则表达式来从身份证号码中提取出生日期。
以下是一个示例代码:
```javascript
function getBirthday(idCard) {
const birthday = idCard.substr(6, 8);
return birthday.replace(/(\d{4})(\d{2})(\d{2})/, "$1-$2-$3");
}
const idCard = "330102199001011234";
console.log(getBirthday(idCard)); // 输出:1990-01-01
```
代码中,`getBirthday` 函数接收一个身份证号码作为参数,然后从第7个字符开始,取出8个字符,即出生日期的年月日部分。接着使用正则表达式将年月日格式化为"xxxx-xx-xx"的形式,并返回结果。
注意:以上代码仅支持18位身份证号码,如果需要支持15位身份证号码,需要进行一些修改。
写一段截取身份证号码出生日期的JS脚本
好的,以下是一个示例的 JavaScript 脚本,用于截取身份证号码中的出生日期:
```javascript
function extractBirthdate(idNumber) {
// 使用正则表达式匹配身份证号码中的出生日期部分
var pattern = /\d{6}(\d{8})\d{4}/;
var match = idNumber.match(pattern);
if (match) {
var birthdate = match[1];
var year = birthdate.substring(0, 4);
var month = birthdate.substring(4, 6);
var day = birthdate.substring(6, 8);
return "出生日期:" + year + "年" + month + "月" + day + "日";
} else {
return "无法提取出生日期";
}
}
// 测试脚本
var idNumber = prompt("请输入身份证号码:");
var result = extractBirthdate(idNumber);
console.log(result);
```
使用时,该脚本会弹出一个对话框要求用户输入身份证号码,然后提取出生日期并在控制台打印输出。注意,这只是一个简单的示例脚本,***