在 Javascript 中将 $(美元符号)添加到多个数字中
Adding $ (dollar sign) to mutiple numbers in Javascript
我有一些包含美元金额和其他文本的文本。一些美元金额有 $ 其他没有。以下是一些示例:
-
1,000 至 15,000
-
$40
-
4000
如果尚不存在,我希望在每个数字的开头添加一个 $。我的尝试:
function convertToMoney(text) {
if (!text.match(/'$/)) {
return text.replace(/'b(['d,]+)'b/g, function(d) { return('$'+d); });
}
return text;
}
如果JS有回头看,我会使用
function convertToMoney(text) {
return text.replace(/(?<!'$)'b(?:'d)/g, '$');
}
我可以简化我的长解决方案吗?
我可以让它与1000 up to $4000
一起工作吗?
更新
应用@jfriend00解决方案后,我的货币过滤器如下所示:
function moneyFilter(text)
var ret = text;
if (ret) {
ret = ret
.replace(/'.'d'd/g, '') // remove pennies
.replace(/'B(?=(?:'d{3})+(?!'d))/g, ',') // add comma
.replace(/('$?)('d['d,]+)/g, "$$$2"); // add dollar sign
}
return ret;
})
这个怎么样:
function convertToMoney(text) {
return text.replace(/('$?)(['d,]+)/g, "$$$2");
}
工作演示:http://jsfiddle.net/jfriend00/y4k3k/
这将查找任何数字序列(可选前面有 $ 符号),并将其替换为美元符号和数字序列。
如果你真的想要正则表达式中的'b
,你也可以在这里添加它,但我看不出它一定是必需的。
首先从文本中删除所有 $,然后在每个数字前面插入一个怎么样? 然后,您不必担心检查它是否已经存在。
您可以更正双美元符号。
function convertToMoney(text) {
if (!text.match(/'$/)) {
newString = text.replace(/'b(['d,]+)'b/g, function(d) { return('$'+d); });
return newString.replace(/'${2}/g, '$');
}
return text;
}
相关文章:
- 我可以使用JavaScript闭包添加数字吗
- 如何在JavaScript中向选定的类中递增添加数字
- HTML 按钮在 Javascript 的文本字段中添加数字
- 如何从动态输入字段添加数字
- 在 Javascript 中添加数字时遇到麻烦
- 使用 JavaScript 在数组中添加数字
- 在 for loop JavaScript 中添加数字
- 使用jQuery单击按钮时添加数字
- 嵌套循环以添加数字
- JQuery 添加数字值
- 使 $.getScript(“”) 不要在请求末尾添加数字
- 使用递归性javascript从数字中添加数字
- javascript:循环添加数字
- 以字符串形式添加数字的Javascript
- 如何通过输入自动添加数字
- 如何在javascript中字符串的第一个字符之前添加数字
- 简单添加数字的位数平方
- 如何使用javascript为onclickurl添加数字
- 向复选框属性添加数字并限制选中复选框的数量
- 3种类型的按钮,使它们添加数字