Tod*_*ddN 4 regex jquery replace
我有一个价格在其中的标签(即$ 150.00).我想使用jQuery只提取没有美元符号($)的文本值.
<div>
$150.00
</div>
Run Code Online (Sandbox Code Playgroud)
我想输出上面的 150.00
Jam*_*ice 20
您可以使用空字符串replace替换$字符:
var price = $("div").text().replace("$", "");
Run Code Online (Sandbox Code Playgroud)
请注意,对于您的确切示例(具有该间距),不会删除空格.如果你继续使用字符串作为一个数字(parseFloat例如通过)并不重要,但如果你想在其他地方使用它作为文本,你可能想要用jQuery删除空格.trim.
更新 - 基于评论
replace返回一个String.一旦你有了这个字符串,就可以将它解析成一个数字parseFloat(或者parseInt,你正在使用浮点数):
var convertedToNumber = parseFloat(price);
既然你有一个数字,你可以对它进行数学运算:
var percentage = convertedToNumber * 0.95;
使用替换更好,但我可以建议你可以删除字符串中的任何货币符号
$ 150.00
Fr. 150.00
€ 689.00
Run Code Online (Sandbox Code Playgroud)
我已经测试了三个以上的货币符号.你也可以为其他货币符号做.
var price = $("div").text().replace(/[^\d\.]/g, '');
Run Code Online (Sandbox Code Playgroud)
上面的正则表达式将删除所有不是数字或句号的东西.所以你可以得到没有货币符号的字符串,但如果你控制输出那么"150.00",那么你将获得价格
console.log('price : '+price);
output = price : .150.00
Run Code Online (Sandbox Code Playgroud)
这是错误的,所以你检查"."的索引.然后拆分并获得正确的结果.
if (price.indexOf('.') == 0) {
price = parseFloat(price.split('.')[1]);
}else{
price = parseFloat(price);
}
Run Code Online (Sandbox Code Playgroud)