JavaScript正则表达式验证十进制数据类型

3

我需要验证传入数据中的十进制数据类型。整数部分和小数值组合在一起最多可以有7个字符。小数值是可选的。前导+或-也是可选的。

例如,DECIMAL(7, 2)定义了形式为12345.67的数字

测试用例

Valid
-1
+1
1
+.1
-.1
.1
+11111.11
-11111.11
11.11
11111

Invalid
1111111
11.11111
0.111111
.1111111
+111111.11
-111111.11
+11111.111
-11111.111
11111.111
111111.11
+1.
-1.
1. 

这是我目前使用的

[+-]?\d\.?\d?

我该如何修改这个内容?

1个回答

5

1
我已经添加了对答案中使用的前瞻的解释。 - anubhava
抱歉 @anubhava,我犯了一个错误。我已经编辑了测试用例。 - Srini V
1
DECIMAL(7,2)定义了形如12345.67的数字,因此小数部分给出2个字符,其余5个字符为整数部分。 - Srini V
1
很酷,所以(?=(?:\D*\d){1,7}$)在新片段中是否有任何相关性,我觉得它是多余的。 - Srini V

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接