function validateIdCard1(){ //判断身份证是否脱敏,如果脱敏直接跳过 // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var cd = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;//定义身份证匹配算法 var legalIdCard = $("#idCard1").val();//获取前台界面字段值 if(legalIdCard != null && legalIdCard !=""){//运用匹配方法直接判断 if (cd.test(legalIdCard) == false) { top.Dialog.alert("身份证号不合法!"); $("#idCard1").val("");//将前台输入值置为空 return false; } } }
时间: 2024-04-19 11:27:29 浏览: 9
在给定的代码中,你可以在判断身份证号码合法性之前添加一个判断,以检测身份证是否脱敏。如果身份证被脱敏,则直接跳过验证逻辑。以下是修改后的代码示例:
```javascript
function validateIdCard1() {
// 判断身份证是否脱敏,如果脱敏直接跳过
var desensitizedRegex = /\d{6}\*{6}\d{2}/; // 脱敏标记的正则表达式
var legalIdCard = $("#idCard1").val(); // 获取前台界面字段值
if (desensitizedRegex.test(legalIdCard)) {
// 身份证已脱敏,直接跳过验证
console.log("身份证已脱敏");
return;
}
// 身份证未脱敏,进行合法性验证逻辑
var cd = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; // 定义身份证匹配算法
if (legalIdCard != null && legalIdCard != "") {
// 运用匹配方法直接判断
if (cd.test(legalIdCard) == false) {
top.Dialog.alert("身份证号不合法!");
$("#idCard1").val(""); // 将前台输入值置为空
return false;
}
}
}
```
在这个修改后的代码中,首先会使用正则表达式`\d{6}\*{6}\d{2}`来匹配身份证号码中是否有6个数字、6个星号和2个数字的组合,如果匹配成功,则认为身份证已脱敏,直接跳过验证逻辑。如果匹配不成功,则进行其他合法性验证逻辑。请注意,这只是一个简单的示例代码,你可以根据实际需求进行适当修改和扩展。