javascript - 输入类型数字,只接受数字不接受字母 jquery

标签 javascript jquery html validation input

$("#number").bind('keyup change click', function() {
            if ($(this).val().match(/^\d+$/)) {

            } else {
                alert("Not a number");
            }

这是我的代码,用于获取仅来自用户的数字输入。没问题,但我在 start of click 方面遇到了一些问题;当我点击它时它会 alert 它不是一个数字,即使它仍然是 empty 所以我添加了另一个代码:

if ($(this).val().length === 0) {
}

从代码开始。它确实解决了空白或开始单击的问题问题是当我输入 letters 时它不再提醒消息。如何解决这个问题?欢迎提出任何建议

最佳答案

@Rias 上面有答案,但是,您也可以执行以下操作。

$("#number").bind('keyup change click', function() {
    //Check only if the text box is not empty
    if ( $.trim($(this).val()) != "") {
        if ($(this).val().match(/^\d+$/)) {
        } else {
            alert("Not a number");
        }
    }
});

演示@ Fiddle

更新:如果您想删除任何非数字字符,请尝试以下操作。

$("#number").bind('keyup change click', function() {

    if ( $.trim($(this).val()) != "") {
        if ($(this).val().match(/^\d+$/)) {
        } else {
            alert("Not a number");
            $(this).val( $(this).val().replace(/[^0-9]+/gi, "") );
        }
    }
});

关于javascript - 输入类型数字,只接受数字不接受字母 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29006667/

相关文章:

javascript - React 自定义 Hook 问题

PHP函数在页面加载时自动调用,而不是通过onclick事件调用

javascript - 缩小/缩小网站的可见区域

javascript - 创建上一页按钮

html - Bootstrap网格系统布局

javascript - 如何为 Mobx 启用装饰器?

javascript - 无法使用 API 从 Google 云端硬盘下载文件 - node.js

javascript - 点击菜单打开,再次点击关闭

jquery - 使用 jQuery 确定复选框是否被选中

javascript - 如何允许选择绝对定位元素后面的文本,而不使用指针事件 :none