正则表达式模式只有一个点并匹配整数和十进制数

时间:2015-05-25 10:11:59

标签: javascript regex regex-lookarounds

我正在努力创建正确的正则表达式模式来匹配这些字符串:

"3" // true
"3." // true
"3.1" // true
"3.22" // true

此类字符串应无法匹配:

"3.." // false
"3.222" // false

我当前的正则表达式/^\d+(\.\d{1,2})*$/仅匹配十进制数字。我已尝试过多次更新,但无法接受所有规则。

1 个答案:

答案 0 :(得分:3)

将小数部分设为可选+您忘记在\之前放置d,并从小数部分删除*

/^\d+(\.\d{0,2})?$/
  ^             ^