我想禁用文本框中的字母,这就是我使用此表达式的原因:
/^[0-9]*$/
问题是我也想允许负数, 并且这个表达式不允许我使用减号。( - ).. 我做什么了?
答案 0 :(得分:8)
尝试使用以下regexp:
/^-?[0-9]*$/
答案 1 :(得分:5)
更正确:/^(?:- *)?[0-9]+$/
因为通常允许在减号和数字之间有一个或多个空格。此外,必须至少有一位数才能拥有有效数字。
答案 2 :(得分:0)
如果您决定要匹配所有类型的数字,包括浮点数this is a good read。如果您只想将简单整数与可选的“减号”匹配,则go with hsz's answer,但我可能会将*
更改为+
。
答案 3 :(得分:0)
使用JavaScript的isNaN()函数。
这是下面的代码:
$(document).ready(function () {
numbersPlusMinus();
});
function numbersPlusMinus() {
var inputPrev = "";
$(".toNumberPlusMinus").change(function () {
if (isNaN($(this).val())) {
$(this).val(inputPrev);
} else {
inputPrev = $(this).val();
}
});
}