简体   繁体   English

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

[英]Javascript .replace on Euro symbol (special characters)

I am trying to replace a euro symbol with a sterling symbol using the .replace method. 我正在尝试使用.replace方法将欧元符号替换为英镑符号。 Unfortunately it fails with , &euro and \€ and the escaped versions. 不幸的是,它无法使用&euro\€以及转义版本。

Am i missing something or is replace unable to handle special characters? 我是否缺少某些东西或替换无法处理特殊字符?

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 codepen: http ://codepen.io/ambrosedheffernan/pen/PqOmMG

Simply change your updateCurrency function for this simpler one and you'll see that and £ are replaced (when switching between currencys): 只需将您的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;   
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM