为了账号安全,请及时绑定邮箱和手机立即绑定

正则只匹配0-9,输入其他的直接输入不进去

正则只匹配0-9,输入其他的直接输入不进去

拉莫斯之舞 2019-02-08 19:23:53
1.项目中有个input,number类型,做了层校验,如下:value是Input的value值有人纠结这个value=value,问题不在这,正则执行了一次,之后没在执行var value=input.value2.var reg=new RegExp(/[0-9]/g)if(!reg.test(value)){input.value=value;}意思就是当输入的不是[0-9]的时候,让它等于它本身,但是有bug,①直接输入‘.' 确实输入不上,但是先输入1在输入点就能输入点了了②输入'e'或者'-'的时候,input的value值会置空,比如输入了32,然后输入e或者-,input的值就变为空了(输入别的字母没事)③而我想的是只能输入0-9,输入别的时候直接输入不上就可以了。④正则好像有个坑,只匹配一次
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

先保留上一次的值, 两次做比对, 如果第二次有错误字符, 把上一次的值填写input框


查看完整回答
反对 回复 2019-02-17
  • 1 回答
  • 0 关注
  • 375 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信