var s="11111111111111x"if (s.length==18){
if (s.substring(17).toUpperCase()=="X"){
if (isNaN(s.substr(0,17))){
alert("不是身份证号码")
}
else{
alert("是身份证号码")
}
}
else{
if (isNaN(s)){
alert("不是身份证号码")
}
else{
alert("是身份证号码")
}
}
}
else if(s.length==15 && !isNaN(s)){
alert("是身份证号码")
}
else{
alert("不是身份证号码")
}
很简单
function CheckCardNo(card){
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
if(reg.test(card) === false)
{
alert("身份证输入不合法")
return false
}
}
CheckCardNo('123456778')