如何使用replace函数限制字符串的长度。
我只需要允许这样的模式:11.11,99.99,100.00
点前1-3个数字,点后1个点和2个数字。
我只有这样的东西:
value = value.replace(/[^\d.]/, "");
答案 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位),
或空格,则替换为空字符串""