RegEx在JavaScript中使用点和替换函数的最大长度

时间:2016-11-17 18:43:03

标签: javascript regex replace maxlength

如何使用replace函数限制字符串的长度。

我只需要允许这样的模式:11.11,99.99,100.00

点前1-3个数字,点后1个点和2个数字。

我只有这样的东西:

value = value.replace(/[^\d.]/, "");

1 个答案:

答案 0 :(得分:0)

使用轮换|运算符来测试.

的两边



var str="11.11, 99.99, 100.00, 1333.05, 44.999"
console.log(str.replace(/([, ]*\d{4,}\.\d*|\d*\.\d{3,})[, ]*/g, ""));




<强>解释

  • [, ]*:任意数量的,或空格
  • \d{4,}\.\d*:4个或更多数字后跟点和任意数字的数字(匹配点数超过4位数)
  • \d*\.\d{3,}:任意数字后跟点和3位或更多位数(点后点数超过3位)
  • 如果找到最后两个模式中的一个,后跟可选的,或空格,则替换为空字符串""