首页 > 解决方案 > RegEx 代码接受数字 XXXX.XXX 或 XXXX.XX 或 XXXXXX

问题描述

我目前正在使用正则表达式,只允许用户输入数字xxxx.xxxorxxxx.xxxxxx.

我尝试了下面的代码,但它不允许 5 位数字,它还允许 7 位和 8 位数字。

(^\d{5}$)|(^\d{4}.\d{2}$|^\d{4}.\d{3}$)
^[0-9]{4}.([0-9]{3}|[0-9]{2}|[0-9]{5})$

样本输出:1223.345 或 1324.23 或 23564

提前谢谢!

标签: regex

解决方案


您的句点需要转义,否则它将是“任何字符”符号,并允许在该位置使用数字。因此,对于您的正则表达式的那一部分,请尝试:

/^\d{5}$|^\d{4}\.\d{2}$|^\d{4}\.\d{3}$/;

我不确定您的正则表达式的其余部分是什么,但似乎超出了您所要求的范围。


推荐阅读