KWe*_*iss 3 javascript regex numbers
我想验证Javascript输入中的数字.
输入应接受:
我用过这个正则表达式:
^(-?)[\d]*$
Run Code Online (Sandbox Code Playgroud)
它效果很好,但它也只接受减号字符' - '.我想排除这种可能性.我当然可以替换*为+,但这将排除空字符串.
我怎么能这样做,以便-必须后跟至少一个数字,但一个完全空的字符串仍然可以吗?
您可以将数字设为必填项,并将整数匹配部分与可选组包含在一起:
/^(?:-?\d+)?$/
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示
细节
^ - 字符串的开头(?:-?\d+)? - 可选的非捕获组,匹配1或0次出现:
-? - 可选的 -\d+ - 1位或更多位数$ - 字符串结尾.