我正在使用此正则表达式在Textbox中将输入字符串验证为decimal
值。
^\d{1,16}((\.\d{1,4})|(\.))?$
现在我想允许negative decimal
个值。我在SO上发现了很多类似的问题。我试过这样的事情:
/^-?
,(\+|-)?
,\.\d{1,4}\-
但无效。
我在这里问了一个新问题,因为我使用的是Textbox TextChanged
事件,我需要检查输入到文本框中的每个字符。
所以第一个字符减去( - )符号应该是有效的
正面值
1
1.
1.1
1.1111
负值
-
-1
-1.
-1.1
-1.1111
我上面的正则表达式验证了正值。如何修改我的正则表达式以允许负值?任何帮助将非常感谢。
答案 0 :(得分:7)
您需要转义减号,因为-
是一个特殊字符。
尝试(\+|\-)?
(请注意反斜杠)。
编辑:不确定这是否符合您的要求,但这样做更简单:
^\-?\d*\.?\d*$
将匹配任何小数(小数两边的1到无限字符,有或没有 - )。 更多详情:http://regex101.com/r/rP7cG2