首页 > 解决方案 > 带有必须是特定数字的十进制数字的正则表达式

问题描述

我需要像这样的数字的正则表达式

+2.25
-9,75
+02,50
-10.00

到目前为止我所做的是^([-+]\d{2}[.,][00|25|50|75]{1,2})$

1- [-+] = obligatory at the beginning
2- \d{2} = any number between 0 and 99
3- [.,] = separator can be .or,
4- [00|25|50|75]{1,2} = input must be 00 or 25 or 50 or 75

数字 4- 不起作用,您可以在此处测试https://regex101.com/

我想要的和我不想要的结果

-9.75 Good
-9.77 Bad

结尾必须始终为00255075

标签: javascriptregex

解决方案


您需要先接受 1 或 2 个数字。

^[-+]\d{1,2}[.,](00|25|50|75)$

对正则表达式的唯一修改:\d{1,2},它接受​​一位或两位数。

另外的选择:

^[-+]\d?\d[.,](00|25|50|75)$

\d?\d 使第一个数字可选。

你可以在这里这里测试它


推荐阅读