javascript - 从字符串中删除某个字符的所有实例

标签 javascript jquery string replace

我正在尝试从 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;
}

jsFiddle

有人能发现我做错了什么吗?

最佳答案

replace使用字符串作为第一个参数调用仅执行一次替换,而使用带有标志 g 的正则表达式会替换所有出现的情况。

使用正则表达式,您还可以避免遍历数组并一次性完成:

value = value.replace(/£|\$|€|,|\./g,'');

关于javascript - 从字符串中删除某个字符的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932345/

相关文章:

javascript - 页面重新加载后显示隐藏的 div(页面重新加载后 div 变为可见)

javascript - 从 URL 字符串获取参数值

javascript - 如何获取特定月份 SQL 查询的总和?

c - 在C中,读取字符和整数时变量值会发生变化

php - PHP 中的 foreach 字符串

javascript - 如何在 JavaScript 中清除所有项目,然后将新项目添加到 Kendo Multiselect 中?

javascript - jQuery 自动完成不适用于键值对数组

javascript - Ajax 不工作 - 不断收到 $.ajax 不是函数错误

javascript - 无法循环选择列表中的选项

java - ReplaceAll 在字符串上无法按预期工作