如何用其他字符替换字符串中的字符?

时间:2011-09-21 23:51:04

标签: javascript

我想用其他字符替换字符串中的某些字符。我做了我的研究,发现最好的方法是使用正则表达式...... 但是,有些东西不起作用...... 这是我到目前为止所做的......

var alphabet = {
   'á':'a',
   'é':'e',
   'í':'i'
};

var word = $("input[name=phrase]").val();
alert(word);  //output: ok!

var url = word.replace(/áéí|/g, function(s) {
    return alphabet[s];
});

alert(url); //output: undefined,undefined,undefined...

1 个答案:

答案 0 :(得分:5)

使用[]匹配任何这些字符,并使用() 捕获匹配项,而不是查找连续的匹配项>人物。

var url = word.replace(/[áéí]/g, function(s) {
    return alphabet[s];
});

DEMO: http://jsfiddle.net/5UmLV/1/


@Felix Kling所述,捕获组是不必要的。更新以反映这一改进。