поиск в русской строке вводя английские символы
Собственно вопрос заключается в заголовке темы.
Как реализовать поиск по строке с русскими буквами вводя английские символы, т.е. научить понимать что хочет ввести пользователь. |
никто так и не ответит? никто не задавался данным вопросом что ли?
|
Спроси гугл :D
Или к примеру задать соответствие раскладок русская-английская и при поиске мапить |
не отвечает гугл
может как то возможно с помощью словаря? |
git_bind,
https://yandex.ru/soft/punto/ |
Цитата:
|
git_bind,
сделай словарик типо replacer = { "q": "й", "w": "ц", "e": "у", "r": "к", "t": "е", "y": "н", "u": "г", "i": "ш", "o": "щ", "p": "з", "[": "х", "]": "ъ", "a": "ф", "s": "ы", "d": "в", "f": "а", "g": "п", "h": "р", "j": "о", "k": "л", "l": "д", ";": "ж", "'": "э", "z": "я", "x": "ч", "c": "с", "v": "м", "b": "и", "n": "т", "m": "ь", ",": "б", ".": "ю", "/": "." }; и через Str.replace заменяй. |
<div id="replace"> <input type="text" class="street edit-state-street" maxlength="50" /> </div> <script> replace.oninput = function (e) { var el = e ? e.target : window.event.srcElement; if (el.tagName != "INPUT") return; var replacer = { "q": "й", "w": "ц", "e": "у", "r": "к", "t": "е", "y": "н", "u": "г", "i": "ш", "o": "щ", "p": "з", "[": "х", "]": "ъ", "a": "ф", "s": "ы", "d": "в", "f": "а", "g": "п", "h": "р", "j": "о", "k": "л", "l": "д", ";": "ж", "'": "э", "z": "я", "x": "ч", "c": "с", "v": "м", "b": "и", "n": "т", "m": "ь", ",": "б", ".": "ю", "/": "." }; var str = el.value; el.value = str.replace(/[A-z/,.;\'\]\[]/g, function (x) { return x == x.toLowerCase() ? replacer[x] : replacer[x.toLowerCase()].toUpperCase(); }); }; </script> |
спасибо больше! реально полезный код. но у меня теперь возникает вопрос, как быть с английскими словами? объясню наглядно для чего вся эта затея.
имеется таблица, в ней записаны значения: |имя слоя | источник| |геоданные 2015 |http://localhost/.....| |cosmo_tile_2015 |http://localhost/.....| ну и много другое(порядка 200 шт.) сейчас поиск реализован с помощью jquery.filtertable поиск устраивает, но увидев на вышеупомянутом сайте функционал поисковой строки, захотел подобное реализовать. т.е. вводя "геодан" не сменив раскладку фильтровалось так же, как и вводя на русском "геодан". ну и аналогично с "cosmo" |
git_bind,
фильтровать сначала по одному, потом попытаться по-другому, если для первого случая неудачно. Допустим вводим utjlfyyst (геоданные) и фильтруем сначала для первого случая, потом для второго. Я не думаю, что в таблице будут записи типа 'utjlfyyst...' |
Часовой пояс GMT +3, время: 12:06. |