我需要一个regex,它允许最多4位数字和/或4位小数。
只允许使用格式示例(我只是使用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})?
-可选出现.
,然后为零到四位$
—字符串结束