繁体   English   中英

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

[英]Allow negative/positive numbers but not letters

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

/^[0-9]*$/

问题是我也要允许负数,并且此表达式不能使我使用减号。(-)..我该怎么做?

尝试使用以下正则表达式:

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

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

由于通常允许减号和数字之间有一个或多个空格。 另外,您必须至少有一位数字才能有一个有效的数字。

使用JavaScript的isNaN()函数。

这是下面的代码:

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


function numbersPlusMinus() {

    var inputPrev = "";

    $(".toNumberPlusMinus").change(function () {

        if (isNaN($(this).val())) {

            $(this).val(inputPrev);

        } else {

            inputPrev = $(this).val();
        }
    });
}

如果您决定要匹配所有数字,包括浮点数,那么这是一本不错的书 如果您只想将简单整数与可选的“减号”进行匹配, 请使用hsz的答案 ,尽管我可能会将*更改为+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM