我需要一个允许最多 4 位数字和/或 4 位小数的正则表达式。
ONLY allowed format examples(我只是用 1 来使格式看起来简单,都应该是 [0-9])
1
1.1
1.11
1.111
1.1111
11
11.1
11.11
11.111
11.1111
111
111.1
111.11
111.111
111.1111
1111
1111.1
1111.11
1111.111
1111.1111
到目前为止我得到的最接近的——
"^[0-9]{0,4}(?:.[0-9]{0,4}$)"
当我输入数字 + 小数时,效果很好。 但是,如果我只输入不带小数的数字,我可以输入 4 位以上的数字,这是不应该的。
最佳答案
^[0-9]{0,4}(?:.[0-9]{0,4}$)
似乎只对您有效。由于 .
是未转义的,它匹配包括数字在内的任何字符,您会觉得它有效。
一旦您使用文字 \
正确转义 .
,它将停止“工作”,因为这将需要一个点。
你需要使用
/^\d{0,4}(?:\.\d{0,4})?$/
"^[0-9]{0,4}(?:[.][0-9]{0,4})?$"
详细信息:
^
- 字符串的开始[0-9]{0,4}
/\d{4}
- 零到四位数字(?:\.[0-9]{0,4})?
-.
的可选出现,然后是零到四位数字$
- 字符串结尾。
关于javascript - 最多 4 位数字和/或最多 4 位小数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65312919/