要求判断必须是15位或18位数字,js代码怎么写呀?我这么写有问题么?为什么不好使呀?
改为onblur,keyup没输入一个数字就替换一次,你肯定不可能一次keyup就全部输入所有的15或者18位数字了
function isCardNo(card)
{
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}|\d{18}$)|(^\d{17}([x\d])$)/i;
if(reg.test(card) === false)
{
alert("身份证输入不合法");
return false;
}
}
另外最好出错给出提示,而不是粗暴地删除,这样用户体验不好。
不能写在keyup里面,要写在onblur里面
错误是这样的
keyup, paste, cut这三个事件都指向同一个处理函数