JS验证身份证号码
--E5单元格填写身份证号码,规则写长度18,其他校验结果以true/false形式写在F5单元格,F列隐藏
--填报属性-数据校验填写【 len(E5)> 0 && (len(F5) = 0 || F5 = "true") 】, 判断len(E5)> 0是为了校验错误后可以有警告标识符
--E5编辑结束事件:
var checkCode = function (val) {
var p = /^\d{5}(18|19|20)\d{2}((0)|(1))(()|10|20|30|31)\d{3}$/; //不以0开头,年份为19世纪至今,12个月31天粗略校验,P共17位
var factor = ; //身份证号前17位数字加权求和的权数
var parity = ;//除以11后求余数,验证第18位
var code = val.substring(17);
if(p.test(val)) {
var sum = 0;
for(var i=0;i<17;i++) {
sum += val*factor;
}
if(parity == code.toUpperCase()) {
return true;
}
}
return false;
}
var a = this.getValue();
var aa = checkCode(a);
contentPane.setCellValue(5,4,aa);