开发者

How to replace characters in a string with other characters?

I want to replace certain characters in a string with other characters. I´ve did my research and found that the best way is to use regular expressions... But, something doesn´t work ... Here´s what i did so far...

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...


Match any of those characters using [], and capture the match(es) using () instead of looking for a match of those consecutive characters.

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

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


As noted by @Felix Kling the capture group was unnecessary. Updated to reflect that improvement.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜