поиск в русской строке вводя английские символы
Собственно вопрос заключается в заголовке темы.
Как реализовать поиск по строке с русскими буквами вводя английские символы, т.е. научить понимать что хочет ввести пользователь. |
никто так и не ответит? никто не задавался данным вопросом что ли?
|
Спроси гугл :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, время: 06:43. |