JavaScript, заменяющий несколько символов - PullRequest
1 голос
/ 19 октября 2011

Я искал в пересмотренном JS для замены букв алфавита (символов) новыми, но я также хочу заменить несколько символов разными.

я. е. слова, объединенные с буквой '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 ]

2 голосов
/ 19 октября 2011

Попробуйте изменить регулярное выражение на

/gw|kw|[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/g
0 голосов
/ 19 октября 2011

Вы можете попробовать это.Идея здесь заключается в том, что только когда несколько буквенных комбинаций (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);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...