提问编辑器里美元符号抱错-^-
在《JavaScript正则表打死迷你书》中有一段货币格式化的代码:
function format (num) {
return num.toFixed(2).replace(/\B(?=(\d{3})+\b)/g, ",").replace(/^/, "$$ ");
};
console.log( format(1888) );
// => "$ 1,888.00"
请问这里为什么要用俩个美元符号,
而不是一个美元符号,
并且我在Chrome中用一个美元符号 也是正确的?
和浏览器没关系。
这是因为 $ 符号在子串匹配中是有意义的,代表的是()中的子串,可以参考 MDN子串匹配说明 ,你这个题的场景反应不出来
换个场景: 用正则把一串只有小数部分的数字前面补位
1
, 并在开头加上$
符号, 结尾加上/月
: