Транслит символов в jQuery (из русских в латиницу)

Данное преобразование может пригодиться на тех ресурсах, где не поддерживается кириллица. И применений этому скрипту может быть великое множество.

Например, представьте, что пользователь вводит название url или файла для скачки в кириллице там, где можно использовать только латинские символы. В этом случае в БД или программе могут быть ошибки. Но все равно мы можем дать возможность писать пользователю русскими символами, просто заменяя их на лету в латинские аналоги.

В данном примере вы увидите два поля, где в первом сможете писать на русском, а во втором получите результат в латинском аналоге.

Работает скрипт так. Сначала он определяет какая клавиша нажата, а затем заменяет ее на латинский алфавит.

  • Пробел заменен знаком тире
  • Твердый и мягкий знаки не используются
  • Если введен непонятный символ, то он игнорируется

Если вы откроете код примера, то обратите внимание на строку:

return(ww.replace(/[^a-zA-Z0-9\-]/g,'-').replace(/[-]{2,}/gim, '-').replace( /^\-+/g, '').replace( /\-+$/g, ''));

Здесь replace(/[^a-zA-Z0-9\-]/g,'-') - символы исключения, которые проходят без замены. Остальные символы либо заменяются на латинский алфавит, либо на знак -.

Чтобы замена неизвестного символа шла не на -, а на другой, допустим * - ставьте так: replace(/[^a-zA-Z0-9\-]/g,'*')

Чтобы добавить в исключения символы пробел, ! и % измените код так: replace(/[^a-zA-Z0-9\-\s\!\%]/g,'-')

Скрипт идеально подходит для транслитерации url адресов. Пользователю достаточно вводить название на русском, а результат со второго поля в транслите мы можем спокойно добавить в БД.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Введите капчу: