200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 身份证input输入框限制 只能输入纯数字及限制长度

身份证input输入框限制 只能输入纯数字及限制长度

时间:2018-07-21 16:55:18

相关推荐

身份证input输入框限制 只能输入纯数字及限制长度

需求:只能输入18位纯数字,并且输入其他字符时删除其他字符

1、<input type="number">还是可以输入e和e-,不符合

2、<input type="text" maxlength="18" >限制了18位,但不能指定只输入数字,type="number"和配合时maxlength长度限制失效,不符合

3、<input type="number"oninput="if(value.length>18)value=value.slice(0,18)" >能限制数字又能限制长度,看似没问题,但在开头或中间加上字母e,长度限制将失效,不符合

4、<input type="number" onkeyup ="value=value.replace(/[^\d]/g,'')">能限制它不能输入其他字符了,但写上字母e时整个input的内容就全清空了,有点缺陷

5、<input type="text" onkeyup="certNumOnkeyup(this)" >当不再局限与number类型,改成text类型时发现这个bug竟然消失了,输入e也只清空了e

最终代码:

<input type="text" id="certNum" placeholder="请输入证件号码" onkeyup="certNumOnkeyup(this)" oninput="if(value.length>18)value=value.slice(0,18)">function certNumOnkeyup(obj) {obj.value = obj.value.replace(/[^\d.]/g,"");//清除"数字"以外的字符obj.value = obj.value.replace(/^0+$/g,"");//以0开头时清空}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。