function validateIdCard1(){ // 判断身份证是否脱敏,如果脱敏直接跳过 var desensitizedRegex = /\d{6}\*{6}\d{2}/; // 脱敏标记的正则表达式 var legalIdCard = $("#idCard1").val(); // 获取前台界面字段值 if (desensitizedRegex.test(legalIdCard)) { // 身份证已脱敏,直接跳过验证 console.log("身份证已脱敏"); return; } // 身份证号码为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 15:25:15 浏览: 35
根据您提供的代码片段,首先通过正则表达式 `desensitizedRegex` 判断身份证号码是否已经脱敏。如果匹配上了脱敏标记的正则表达式,则直接跳过验证,否则继续验证身份证号的合法性。
接下来使用正则表达式 `cd` 对身份证号进行匹配验证。如果身份证号不为空且不符合15位或18位且最后一位不是数字或字符X的格式,则弹出提示错误信息,并将输入框中的值置为空。
根据代码逻辑来看,这段代码可以实现对身份证号的合法性验证,并且会判断身份证号是否已经脱敏。但需要注意的是,这段代码只是进行了简单的格式和长度验证,并不能保证输入的身份证号是真实有效的。在实际使用中,还需要根据具体的业务需求进行更加严格的验证。
相关问题
function validateIdCard1(){ //判断身份证是否脱敏,如果脱敏直接跳过}怎么写
要实现判断身份证是否脱敏,并在脱敏情况下直接跳过,你可以使用正则表达式来匹配身份证号码是否包含脱敏标记。以下是一个示例的JavaScript函数:
```javascript
function validateIdCard1(idCard) {
var desensitizedRegex = /\d{6}\*{6}\d{2}/; // 脱敏标记的正则表达式
if (desensitizedRegex.test(idCard)) {
// 身份证已脱敏,直接跳过
console.log("身份证已脱敏");
return;
}
// 身份证未脱敏,进行其他验证逻辑
console.log("身份证未脱敏");
// 其他逻辑处理
}
```
这个函数通过正则表达式`\d{6}\*{6}\d{2}`来匹配身份证号码中是否有6个数字、6个星号和2个数字的组合,如果匹配成功,则认为身份证已脱敏。如果匹配不成功,则认为身份证未脱敏,可以继续进行其他验证逻辑。你可以在函数中添加其他需要的逻辑处理。
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 (legalIdCard.indexOf("*")>=0){ // 判断身份证是否脱敏,如果脱敏直接跳过 // 身份证已脱敏,直接跳过验证 console.log("身份证已脱敏"); return false; } if (cd.test(legalIdCard) == false) { top.Dialog.alert("身份证号不合法!"); $("#idCard1").val("");//将前台输入值置为空 return false; } } }是否正确
根据您提供的修改后的代码,首先使用正则表达式 `cd` 对身份证号进行匹配验证。如果身份证号不为空且不符合15位或18位且最后一位不是数字或字符X的格式,则弹出提示错误信息,并将输入框中的值置为空。
接下来,通过 `legalIdCard.indexOf("*")>=0` 判断身份证号是否已经脱敏。如果身份证号中包含星号(*),则认为身份证已脱敏,直接跳过验证。
根据代码逻辑来看,这段代码可以实现对身份证号的合法性验证,并且会判断身份证号是否已经脱敏。如果身份证已脱敏,则不会执行后续的验证操作。
需要注意的是,这段代码只是进行了简单的格式和长度验证,并不能保证输入的身份证号是真实有效的。在实际使用中,还需要根据具体的业务需求进行更加严格的验证。
阅读全文