求大神:移动端input验证只允许有数字 在safari浏览器一直不成功

<input  class="lineHeight-30" type="text" onkeyup="value=value.replace(/[^\d$]/ig,'')" placeholder="请输入验证码" >

或者


 <input id="numberbox" class="lineHeight-30" type="text" placeholder="请输入验证码" >
function onlyNumber(event){
  var keyCode = event.keyCode;
  if(keyCode<48 || keyCode>57){
      event.keyCode = 0;
  }
}
$(function(){
    $("#numberbox").keydown(onlyNumber);
});

或者


<input  class="lineHeight-30" type="nuber" placeholder="请输入验证码" >
<input  class="lineHeight-30" type="tel" placeholder="请输入验证码" >

都不行

阅读 4.3k
4 个回答

你把第一种方法的onkeyup换成onchange试试,没怎么看出来毛病在哪。

一般用change或者input事件

正则没有问题,主要是触发的方式上。
keyCode的话,需要注意event.keyCode || event.which.keyCode,还有就是数字小键盘的keyCode和不带小键盘的keyCode范围会不同。

even.keyCode没有获取到吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题