javascript - 最多 4 位数字和/或最多 4 位小数的正则表达式

标签 javascript regex

我需要一个允许最多 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/

相关文章:

javascript - 带有 Firefox(最新 32 位)浏览器的 Protractor 未加载

javascript - HtmlOptions.OnLoadScript 无法使用 ABCPdf 创建 PDF

Python Pyparsing : Capture comma-separated list inside parentheses ignoring inner parentheses

javascript - 正则表达式在测试中获取一些 JSON

Javascript替换为不影响字符串的正则表达式

javascript - 带有 args 下划线的去抖功能

javascript - Aurelia 中未加载模块

c++ - g++ 和 VS2012 中的正则表达式

javascript - 背景网格 REST 设计 : ID is not passed automatically in the URL

python - 正则表达式和unicode在python中提取价格