从字符串中删除字符的所有实例

DGi*_*bbs 0 javascript string jquery replace

我正在尝试£$€,.从jQuery/Javascript中的字符串中删除给定字符集的所有实例.我正在使用替换功能,但这只会删除角色的单个实例,而不是全部.

例如,考虑字符串:

1,500,00.00.$djdjd£10€10
Run Code Online (Sandbox Code Playgroud)

我回来了:

1500,0000.djdjd1010
Run Code Online (Sandbox Code Playgroud)

如您所见,它只删除每个字符的单个实例.£, $并且很好,因为字符串中只有一个.

这是我到目前为止:

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;
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

谁能发现我做错了什么?

Den*_*ret 6

replace使用字符串作为第一个参数调用只进行一次替换,而使用带有flag的正则表达式g替换所有出现.

使用正则表达式,您还可以避免在数组上循环并在一次传递中执行:

value = value.replace(/£|\$|€|,|\./g,'');
Run Code Online (Sandbox Code Playgroud)