3

您好我正在使用以下正则表达式命令仅允许将数字输入到文本字段中

Regex rgx = new Regex("[^0-9]"); 

但是,这显然不允许输入正负号 +/-。我希望能够输入 -9 作为负值,但是当我这样做时,它会返回为 09。任何帮助获得正确的正则表达式将不胜感激。

4

3 回答 3

4

你去吧,这个工作 100% 刚刚测试以确保 ;)

Regex r = new Regex("^([-+]?)?[0-9]+(,[0-9]+)?$");
于 2013-03-23T00:36:23.127 回答
0

在我看来,您的表达式解析为除 0 到 9 之外的所有内容...为了允许任何带有正号或负号的数字,我将使用以下表达式:

([-+]{0,1}[0-9]+)

+ 或 - 开头 0 或 1 次,之后任何数量>0 的 0...9。

于 2013-03-22T23:49:03.753 回答
0

正则表达式 rgx = new Regex("[^-][^0-9]+");

于 2013-03-23T00:49:30.150 回答