js随机生成身份证号
时间: 2023-09-03 08:11:28 浏览: 161
要在 JavaScript 中随机生成一个符合身份证号码格式的随机号码,可以使用以下代码:
```javascript
function generateRandomID() {
// 生成一个随机的省、市、县(区)的代码
var provinceCode = Math.floor(Math.random() * (91 - 11) + 11); // 11-90
var cityCode = Math.floor(Math.random() * 100);
var countyCode = Math.floor(Math.random() * 100);
// 生成一个随机的出生日期(年月日)
var birthYear = Math.floor(Math.random() * (2002 - 1970) + 1970); // 1970-2001
var birthMonth = Math.floor(Math.random() * 12) + 1; // 1-12
var birthDay = Math.floor(Math.random() * 28) + 1; // 1-28
// 生成一个随机的顺序码
var sequenceCode = Math.floor(Math.random() * 1000);
// 计算校验码
var id17 = provinceCode.toString() + cityCode.toString() + countyCode.toString() +
birthYear.toString() + (birthMonth < 10 ? '0' : '') + birthMonth.toString() +
(birthDay < 10 ? '0' : '') + birthDay.toString() + sequenceCode.toString();
var id17Array = id17.split('');
var powerSum = 0;
for (var i = 0; i < id17Array.length; i++) {
powerSum += parseInt(id17Array[i]) * Math.pow(2, 17 - i);
}
var checkCode = '10X98765432'[powerSum % 11]; // '10X98765432'为校验码对应的字符
var id18 = id17 + checkCode;
return id18;
}
// 示例用法
var randomID = generateRandomID();
console.log(randomID);
```
该代码生成一个随机的身份证号码,并按照身份证号码的规则计算校验码。请注意,生成的号码仅供演示和测试使用,不具备真实的身份证号码信息。