Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2016, 13:05
Интересующийся
Отправить личное сообщение для git_bind Посмотреть профиль Найти все сообщения от git_bind
 
Регистрация: 28.09.2015
Сообщений: 12

поиск в русской строке вводя английские символы
Собственно вопрос заключается в заголовке темы.
Как реализовать поиск по строке с русскими буквами вводя английские символы, т.е. научить понимать что хочет ввести пользователь.
Ответить с цитированием
  #2 (permalink)  
Старый 19.02.2016, 08:37
Интересующийся
Отправить личное сообщение для git_bind Посмотреть профиль Найти все сообщения от git_bind
 
Регистрация: 28.09.2015
Сообщений: 12

никто так и не ответит? никто не задавался данным вопросом что ли?
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2016, 08:39
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Спроси гугл

Или к примеру задать соответствие раскладок русская-английская и при поиске мапить
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2016, 10:52
Интересующийся
Отправить личное сообщение для git_bind Посмотреть профиль Найти все сообщения от git_bind
 
Регистрация: 28.09.2015
Сообщений: 12

не отвечает гугл
может как то возможно с помощью словаря?
Ответить с цитированием
  #5 (permalink)  
Старый 19.02.2016, 11:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

git_bind,
https://yandex.ru/soft/punto/
Ответить с цитированием
  #6 (permalink)  
Старый 19.02.2016, 11:26
Интересующийся
Отправить личное сообщение для git_bind Посмотреть профиль Найти все сообщения от git_bind
 
Регистрация: 28.09.2015
Сообщений: 12

Сообщение от рони Посмотреть сообщение
git_bind,
https://yandex.ru/soft/punto/
это конечно хорошо, но мне необходим почти тот же функционал только на сайте. идеальный пример, это сайт 2gis(не реклама). там не важно на какой раскладке вводишь, поисковая строка понимает что хотят найти
Ответить с цитированием
  #7 (permalink)  
Старый 19.02.2016, 11:58
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

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 заменяй.
Ответить с цитированием
  #8 (permalink)  
Старый 19.02.2016, 12:05
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<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>
Ответить с цитированием
  #9 (permalink)  
Старый 19.02.2016, 13:33
Интересующийся
Отправить личное сообщение для git_bind Посмотреть профиль Найти все сообщения от git_bind
 
Регистрация: 28.09.2015
Сообщений: 12

спасибо больше! реально полезный код. но у меня теперь возникает вопрос, как быть с английскими словами? объясню наглядно для чего вся эта затея.
имеется таблица, в ней записаны значения:

|имя слоя | источник|
|геоданные 2015 |http://localhost/.....|
|cosmo_tile_2015 |http://localhost/.....|
ну и много другое(порядка 200 шт.)
сейчас поиск реализован с помощью jquery.filtertable
поиск устраивает, но увидев на вышеупомянутом сайте функционал поисковой строки, захотел подобное реализовать.
т.е. вводя "геодан" не сменив раскладку фильтровалось так же, как и вводя на русском "геодан". ну и аналогично с "cosmo"
Ответить с цитированием
  #10 (permalink)  
Старый 19.02.2016, 13:47
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

git_bind,
фильтровать сначала по одному, потом попытаться по-другому, если для первого случая неудачно. Допустим вводим utjlfyyst (геоданные) и фильтруем сначала для первого случая, потом для второго. Я не думаю, что в таблице будут записи типа 'utjlfyyst...'
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в строке по юникоду grifangel Общие вопросы Javascript 2 26.11.2014 21:23
Поиск слова по строке Georrg Общие вопросы Javascript 6 13.08.2014 11:35
Поиск в строке другой подстроки средствами JS YAN Общие вопросы Javascript 13 23.07.2013 09:41
поиск при помощи рег.выражений, чтобы в строке "java" нашло ["ja","av","va"] slotmim Общие вопросы Javascript 3 04.03.2013 21:45
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 18:56