我目前有一个正则表达式验证器,限制用户只输入大于1的数字。如何允许正数和负数?
^[1-9]+([0-9]+)*$
答案 0 :(得分:1)
添加 - ?会做的伎俩:
^-?[1-9]+([0-9]+)*$
答案 1 :(得分:0)
假设负数仅由前面的-
符号标记,则以下表达式应该有效:
/(^|( )|\t)(-|)\d{1,}/gm
说明:
(^| )
匹配新行的开头OR(因为|
)白色空格(来自空格键)或制表符。如果您对输入周围的空白区域有要求,可以在本节中调整此正则表达式。(-|)
匹配-
字符OR(因为|
)没有\d
,其中至少有一个数字,但可能是一个无限数字(因为{1,}
)g
设置全局标志,允许匹配多个实例。 m
设置多行标志,允许匹配跨越行。这对于^
换行符正确匹配是必要的。对此进行了测试,结果如下:
-0934 sdj2a
1328 232
-93 2939 -192
匹配组是:
-0934
,1328
,232
,-93
,2939
,-192