Jquery 如何只接受输入框中的数字

Jquery 如何只接受输入框中的数字,jquery,Jquery,我有一个输入框。我只想在它的数字,即使用户右键单击文本并使用鼠标粘贴 我不想要插件..只需要jquery代码 我使用keyup事件,但它不起作用 如果用户输入除数字以外的任何其他字符,它应该立即替换为空字符串我应该做的是在他们离开输入字段时检查输入字段 因此jquery模糊将完成这项工作。或者可能是一个更改事件。我应该做的是在他们离开输入字段时检查输入字段 <input type="text" name="test" id="test" value="0" /> <scri

我有一个输入框。我只想在它的数字,即使用户右键单击文本并使用鼠标粘贴

我不想要插件..只需要jquery代码

我使用keyup事件,但它不起作用


如果用户输入除数字以外的任何其他字符,它应该立即替换为空字符串

我应该做的是在他们离开输入字段时检查输入字段


因此jquery模糊将完成这项工作。或者可能是一个更改事件。

我应该做的是在他们离开输入字段时检查输入字段

<input type="text" name="test" id="test"  value="0" />

<script type="text/javascript">
$(function(){
    $("#test").keyup(function(){
        $(this).val( parseInt($(this).val()) );
    });
});
因此jquery模糊将完成这项工作。或者可能是变更事件。


<input type="text" name="test" id="test"  value="0" />

<script type="text/javascript">
$(function(){
    $("#test").keyup(function(){
        $(this).val( parseInt($(this).val()) );
    });
});
$(函数(){ $(“#测试”).keyup(函数(){ $(this.val)(parseInt($(this.val())); }); });
这将使您的输入始终包含数字输入


$(函数(){
$(“#测试”).keyup(函数(){
$(this.val)(parseInt($(this.val()));
});
});

这将使您的输入始终包含数字输入

我不知道您为什么不想要插件,有一些非常好的插件,如。你可以随时将他们的代码添加到你的页面中,而不需要一个单独的文件。

我不知道你为什么不想要一个插件,有一些非常好的插件,比如。您可以随时将它们的代码添加到页面中,而不需要单独的文件。

如果您想使用点使用

function numonly(root){
    var reet = root.value;   
    var arr1 = reet.length;   
    var ruut = reet.charAt(arr1-1);   
        if (reet.length > 0){   
        var regex = /[0-9]|\./;
                if (!ruut.match(regex)){   
            var reet = reet.slice(0, -1);   
            $(root).val(reet);   
            }   
        }   
    }
    //Then use the event handler onkeyup='numonly(this)'

如果要使用点,请使用

function numonly(root){
    var reet = root.value;   
    var arr1 = reet.length;   
    var ruut = reet.charAt(arr1-1);   
        if (reet.length > 0){   
        var regex = /[0-9]|\./;
                if (!ruut.match(regex)){   
            var reet = reet.slice(0, -1);   
            $(root).val(reet);   
            }   
        }   
    }
    //Then use the event handler onkeyup='numonly(this)'

当用户右键单击文本框并粘贴非数字时,这不起作用。我尝试..您的代码不起作用..尝试此步骤..当页面加载时,使用鼠标右键单击输入并粘贴非数字..它接受这也会对插入符号的放置造成严重破坏。最后触发您的侦听器,这将阻止在页面加载时插入,如:$(“#测试”).keyup(函数(){$(this.val)(parseInt($(this.val());}).keyup();当用户右键单击文本框并粘贴非数字时,这不起作用。我尝试..您的代码不起作用..尝试此步骤..当页面加载时,使用鼠标右键单击输入并粘贴非数字..它接受这也会对插入符号的放置造成严重破坏。最后触发您的侦听器,这将阻止在页面加载时插入,如:$(“#测试”).keyup(函数(){$(this.val)(parseInt($(this.val());}).keyup();为了简单起见,这是最好的选择。如果您想要完全控制,您应该避免在keydown/keypress上对任何不需要的组合键执行默认操作(这变得相当复杂,无法正确执行并保持预期的行为…),以及在筛选其他事件(如粘贴)的非数字字符时保留插入符号位置的功能。为简单起见,这是最好的选择。如果您想要完全控制,您应该避免在keydown/keypress上对任何不需要的组合键执行默认操作(这变得相当复杂,无法正确执行并保持预期的行为…),以及在为其他事件(如粘贴)过滤非数字字符时保留插入符号位置的功能。