页面:
<div class="jzr_items">
<label>身份证:</label>
<input type="text" name="id_card_no" id="id_card_no" class="" req="请输入身份证号" placeholder="请输入身份证号">
</div>
js:
//身份证失去焦点事件
<script>
$("#id_card_no").on('blur', function () {
let IDCard = $("#id_card_no").val();
//身份证号为空
if (IDCard == '') {
$(".seekpop").show().delay(2000).hide(0).children("p").html("请输入身份证号!");
return false;
}
//如果身份证号不正确
if (!check_id(IDCard)) {
$(".seekpop").show().delay(2000).hide(0).children("p").html("身份证格式不正确!");
return false;
}
});
function check_id(value){
var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子
var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码
if(/^\d{17}\d|x$/i.test(value)){
var sum = 0, idx;
for(var i = 0; i < value.length - 1; i++){
// 对前17位数字与权值乘积求和
sum += parseInt(value.substr(i, 1), 10) * arrExp[i];
}
// 计算模(固定算法)
idx = sum % 11;
// 检验第18为是否与校验码相等
return arrValid[idx] == value.substr(17, 1).toUpperCase();
}else{
return false;
}
}
</script>