我有一个angular grid
,其中包含一个文本框。我必须在文本框中仅允许使用正负整数。但是,当我应用regular expression
时,它也期望在正数前面也有一个符号。我不希望在正数之前添加任何加号。
如果我输入13
,则代码会将'1'
视为符号。
我使用了以下正则表达式: ^-[1-9] \ d {0,2} $
如何解决这个问题?
答案 0 :(得分:0)
您可以为此使用以下正则表达式
/^[+-]?\d+$/
-示例
HTML
<ul id = "results">
</ul>
JS
var numberExamples = [156, 12, +90, -34, "adf",11,-111,1.0,1.2,1.2,'1a','u8' ];
var pattern = /^[+-]?\d+$/;
$.each(numberExamples, function (index, numberExamples) {
$("#results").append("<li>" + numberExamples + " = " + pattern.test(numberExamples) + "</li>");
});
示例Fiddle
如果您也想接受小数,请使用以下正则表达式
/^-?\d*\.?\d+$/