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

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

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

Например, представьте, что пользователь вводит название 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 адресов. Пользователю достаточно вводить название на русском, а результат со второго поля в транслите мы можем спокойно добавить в БД.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии