小程序 在input中输入身份证后做身份证的校验
时间: 2024-04-23 12:24:36 浏览: 53
要做身份证校验,你可以使用 JavaScript 的正则表达式来验证输入的身份证号码是否符合规范。以下是一个可以检测身份证号码的 JavaScript 函数:
```
function checkIdCard(idcard) {
//身份证号码正则表达式
var regIdCard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (regIdCard.test(idcard) === false) {
return false;
} else {
return true;
}
}
```
你可以将这个函数绑定到 input 的 onchange 或者 onblur 事件上,当用户输入完身份证号码后失去焦点后就会触发校验函数,从而对身份证号码进行校验。具体实现方法可以参考以下代码:
```
<input type="text" id="idcard" onchange="checkIdCard(this.value)">
```
注意,这里的 onchange 事件会在输入框内容改变且失去焦点时触发,如果你想在用户每输入一个字符时就进行校验,可以使用 oninput 事件代替 onchange 事件。
相关问题
微信小程序识别输入框输入的身份证号,对身份证号进行校验,获取获取出生日期、年龄、性别
可以使用正则表达式对输入的身份证号进行校验,然后根据身份证号的规则提取出生日期、年龄、性别等信息。
以下是一个示例代码:
```javascript
// 校验身份证号
function validateIdCard(idCard) {
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return reg.test(idCard);
}
// 获取出生日期
function getBirthDate(idCard) {
var year, month, day;
if (idCard.length == 15) {
year = "19" + idCard.substring(6, 8);
month = idCard.substring(8, 10);
day = idCard.substring(10, 12);
} else if (idCard.length == 18) {
year = idCard.substring(6, 10);
month = idCard.substring(10, 12);
day = idCard.substring(12, 14);
}
return year + "-" + month + "-" + day;
}
// 获取年龄
function getAge(idCard) {
var birthDate = getBirthDate(idCard);
var age = new Date().getFullYear() - parseInt(birthDate.substring(0, 4));
if (new Date(birthDate).getMonth() > new Date().getMonth() ||
(new Date(birthDate).getMonth() == new Date().getMonth() && new Date(birthDate).getDate() > new Date().getDate())) {
age--;
}
return age;
}
// 获取性别
function getGender(idCard) {
var gender;
if (idCard.length == 15) {
gender = parseInt(idCard.charAt(14)) % 2 == 1 ? "男" : "女";
} else if (idCard.length == 18) {
gender = parseInt(idCard.charAt(16)) % 2 == 1 ? "男" : "女";
}
return gender;
}
// 在输入框输入时调用
function onInput(e) {
var idCard = e.detail.value;
if (validateIdCard(idCard)) {
var birthDate = getBirthDate(idCard);
var age = getAge(idCard);
var gender = getGender(idCard);
console.log("出生日期:" + birthDate + " 年龄:" + age + " 性别:" + gender);
// TODO: 更新页面显示出生日期、年龄、性别等信息
} else {
console.log("身份证号格式不正确");
// TODO: 更新页面提示身份证号格式不正确
}
}
```
在 `onInput` 函数中,首先校验输入的身份证号是否合法,如果合法则使用 `getBirthDate`、`getAge` 和 `getGender` 函数分别获取出生日期、年龄和性别,然后更新页面显示这些信息。如果身份证号格式不正确,则提示用户输入格式不正确。
阅读全文