Вы должны использовать это регулярное выражение /(,|[^\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));
}
}