验证内部类型值的字符串 ?使用正则表达式

Validate string of internal type value ? using Regex

我正在尝试验证从服务器端获取的一系列数字。

我需要做的就是验证它们。到目前为止我没有遇到任何问题,但是当我遇到 negative number of string type regex 正在中断

时我遇到了问题

正则表达式:

^[0-9]\d*(\.\d+)?$

好吧,我之前尝试附加 [\-] 以确保负值有效,但我无法使其完美工作。

此处示例:

 Value       My Output   Expected 

 1234.5   -   [true]   -  [true]
"1234.5"  -   [true]   -  [true]
"-1234.5" -   [false]  -  [true]
-1234.5   -   [false]  -  [true]
 1234.5   -   [true]   -  [true]

我在函数内部使用正则表达式代码,并将这些值作为参数传递给它,并尝试获取布尔值 true/false 作为 return。

对于正则表达式测试器 click here

如有任何帮助,我们将不胜感激。

您可以在正则表达式的开头添加一个可选的 - 作为

-?\d+(\.\d+)?

Regex Demo

由于负号是可选的,因此您需要使用“?”操作员。试试这个:

^\-?[0-9]\d*(\.\d+)?$

我不知道你用了什么黑魔法让 ^[0-9]\d*(\.\d+)?$ 匹配 "1234.5",但这个模式应该可以做到:

^("?)-?\d+(?:\.\d+)?$

regex101 demo.