我正在尝试从 jQuery/Javascript 中的字符串中删除给定字符集 £$€,.
的所有实例。我正在使用replace函数,但是这似乎只删除了该 Angular 色的单个实例,而不是全部。
例如考虑字符串:
1,500,00.00.$djdjd£10€10
我回来了:
1500,0000.djdjd1010
如您所见,它仅删除每个字符的一个实例。 £、
$
和 €
都可以,因为字符串中只有一个。
这是我到目前为止所拥有的:
function validatePriceRange(value, min, max) {
var replacements = ["£", "$", "€", ",", "."];
$.each(replacements, function (index, item) {
value = value.replace(item, "");
});
var value = parseInt(value, 10);
return value >= min && value <= max;
}
有人能发现我做错了什么吗?
最佳答案
replace
使用字符串作为第一个参数调用仅执行一次替换,而使用带有标志 g
的正则表达式会替换所有出现的情况。
使用正则表达式,您还可以避免遍历数组并一次性完成:
value = value.replace(/£|\$|€|,|\./g,'');
关于javascript - 从字符串中删除某个字符的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932345/