2011-10-19 219 views
1

我已經搜索了n修訂後的JS,用新的替換字母(字符),但我也想用不同的字符替換多個字符。javascript替換多個字符

i。即與'w'字母(如gw,kw)組合的單詞不應該被打印爲ѱ但是¼£。但是,下面的代碼無法正常工作:(

任何想法表示讚賞。

$(function() { 
$("textarea").keyup(function() { 
    var word = $(this).val(); 
    var tifinaghized = word.replace(/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]|gw|kw/g, function(s) { 
     return alphabet[s]; 
    }); 
    $("div").text(tifinaghized); 
}); 
}); 

var alphabet = { 
'a': 'Æ', 
'b': 'ⴱ', 
'c': 'Î', 
'd': 'Ë', 
'e': 'Ã', 
'f': 'â', 
'g': 'Ñ', 
... 
'w': '±', 
... 
'gw': '¼£', 
'kw': 'þ' 
}; 

回答

2

嘗試改變正則表達式來

/gw|kw|[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/g 
+0

+1或'/ [abcdefhijlmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] | gw | kw | [gk]/g'但你的更好:-) – xanatos

0

你可以試試這個。這裏的想法是,只有當多個字母組合(gw)不匹配,則我們繼續匹配單個字母組合。


$(function() { 
    $("textarea").keyup(function() { 
     var word = $(this).val(); 
     var tifinaghized = word.replace(/gw|kw|[a-z]/gi, function(s) { 
      return alphabet[s]; 
     }); 
     $("div").text(tifinaghized); 
    }); 
});