欧元符号上的Javascript .replace(特殊字符)

时间:2015-06-23 23:54:16

标签: javascript replace htmlspecialchars

我正在尝试使用.replace方法用欧元符号替换欧元符号。不幸的是,它失败了&euro\u20AC以及转义版本。

我错过了什么或替换无法处理特殊字符?

function updateCurrency(elem){
    if(elem.value === 'sterling'){
        window.currency= '£';
        minValue= document.getElementById('min').value;
        minValue= minValue.replace('/€', '£');
        console.log(minValue)
        maxValue= document.getElementById('max').value.replace('\u20AC', '£');
    } else {
        window.currency= '\u20AC';
        minValue= document.getElementById('min').value.replace('£', '\u20AC');
        maxValue= document.getElementById('max').value.replace('£', '\u20AC');
    }

}

codepen: http://codepen.io/ambrosedheffernan/pen/PqOmMG

1 个答案:

答案 0 :(得分:1)

只需更改这个更简单的updateCurrency函数,您就会看到£被替换(当在电流之间切换时):

function updateCurrency(elem){
    if(elem.value === 'sterling'){
        var newCurrency = '£';
        var oldCurrency = '€';
    }
    else {
        var newCurrency = '€'; 
        var oldCurrency = '£';         
    }

    var maxValue = document.getElementById('max').value;
    maxValue = maxValue.replace(oldCurrency, newCurrency)
    document.getElementById('max').value = maxValue;

    var minValue = document.getElementById('min').value;
    minValue = minValue.replace(oldCurrency, newCurrency)
    document.getElementById('min').value = minValue;   
}