允许使用正负数字,但不允许使用字母

Allow negative/positive numbers but not letters

本文关键字:不允许 许使用 数字      更新时间:2023-09-26

我想禁用文本框中的字母,这就是为什么我使用这个表达式:

/^[0-9]*$/

问题是我也想允许负数,这个表达式不能用负号(-)…我该怎么办?

尝试以下regexp:

/^-?[0-9]*$/

正确的说法是:/^(?:- *)?[0-9]+$/

因为通常允许在减号和数字之间有一个或多个空格。此外,必须至少有一个数字是有效的号码。

如果您决定要匹配所有类型的数字,包括浮点数,这是一个很好的阅读。如果您只想与可选的"减号"符号匹配简单整数,那么使用hsz的答案,尽管我可能会将*更改为+

使用JavaScript的isNaN()函数

下面是代码:

$(document).ready(function () {
    numbersPlusMinus();
});

function numbersPlusMinus() {
    var inputPrev = "";
    $(".toNumberPlusMinus").change(function () {
        if (isNaN($(this).val())) {
            $(this).val(inputPrev);
        } else {
            inputPrev = $(this).val();
        }
    });
}