开发者社区> 问答> 正文

只允许文本框输入数字,输入其他的不显示如何实现?

填写QQ号那一栏,使用 <input type="number" /> 对于不支持 html5 的浏览器意义就不大了。
这个主要得用哪个方法来实现呢?

展开
收起
小旋风柴进 2016-03-23 14:37:31 2291 0
1 条回答
写回答
取消 提交回答
  • 一个非常简单的jquery实现

    $('input[type=number]').keydown(function (e) {
        if (e.keyCode < 48 || e.keyCode > 57) {
            return false;
        }
    });

    但是这个东西治标不治本,如果用户用复制粘贴功能或者用鼠标操作,都可以绕过去,你还需要做一个实时检测,及时把不合法的输入去掉

    var lastVal;
    setInterval(function () {
        var input = $('input[type=number]'), val = input.val();
    
        if (lastVal != val) {
            input.val(val.replace(/[^\d]+/g, ''));
            lastVal = val;
        }
    }, 100);
    2019-07-17 19:11:03
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载