![](/img/trans.png)
[英]Numeric array from string containing non-numeric characters in Javascript
[英]Stripping commas and non-numeric characters from string in javascript
应该很简单,但是RegExs似乎从来不是:)。 谁能帮助您删除字符串中的逗号和任何非数字字符? 谢谢。 它在var result
块中。 显然,当您将一个运算符输入数字时,它会被炸开。 num1
和num2
。 我还需要去除任何破折号。
function calcTotalRetailVal() {
var num1 = $oneTimeCostField.val();
var num2 = $recurringTotalCostField.val();
//In the replace method
var result = parseFloat(num1.replace(/,/g, '')) + parseFloat(num2.replace(/,/g, ''));
if (!isNaN(result)) {
$totalRetailAmountField.text('$' + result.toFixed(2));
}
}
const clearText = plainText.replace(/\D/g,'')
\\ D将匹配所有非数字,但是如果您需要保留点和破折号:
replace(/[^\d.-]/g, '')
与正则表达式。 num1.replace(/[^0-9.]/, '')
您应该使用此正则表达式/(,|[^\\d.-]+)+/g
来检测逗号和任何非数字值,例如字符,运算符,组中的空格,并且比单独检测要快。 负数(例如-1)和。 将包括在内。
我重写了您的代码。
function calcTotalRetailVal() {
var num1 = $oneTimeCostField.val();
var num2 = $recurringTotalCostField.val();
//In the replace method
var result = parseFloat(num1.replace(/(,|[^\d.-]+)+/g, '')) + parseFloat(num2.replace(/(,|[^\d.-]+)+/g, ''));
if (!isNaN(result)) {
$totalRetailAmountField.text('$' + result.toFixed(2));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.