Regex: введенное слово, соответствующее началу или целому слову? - PullRequest
0 голосов
/ 13 февраля 2019

На самом деле я работаю над системой, которая будет предлагать пользователю, пока он заполняет форму ввода, слово, которое он набрал в этом поле формы во время предыдущего посещения веб-сайта (форма автозаполнения Google-Likeна самом деле).

Моя форма довольно проста: ввод имени и другого имени.

Я хотел бы знать, есть ли способ, благодаря регулярному выражению, проверить, соответствует ли набранное слово слову, которое я ранее сохранял в LocalStorage.

Пример :

Слово, которое я сохранил в localStorage, это 'Matthew'.

Набранные слова, которые будут соответствовать: 'M', 'Ma ',' Mat ',' Matt ',' Matth ',' Matthe 'и' Matthew '.

Заранее благодарю за помощь:)

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

В новых браузерах есть функция string.startsWith(...), которая сообщит вам, начинается ли строка с ввода

Референция: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith

Если вам нужна поддержка старых браузеров, вы можетеиспользуйте pollyfill из приведенной выше страницы:

if (!String.prototype.startsWith) {
    Object.defineProperty(String.prototype, 'startsWith', {
        value: function(search, pos) {
            pos = !pos || pos < 0 ? 0 : +pos;
            return this.substring(pos, pos + search.length) === search;
        }
    });
}
0 голосов
/ 13 февраля 2019

Когда мне нужно проверить выражения регулярных выражений, я использую этот сервис: https://regex101.com/.

Но для вашей задачи, я думаю, вам просто нужна функция indexOf ():

var userName = 'Matthew';
    
    var searchTerm = 'Ma';
    var indexOfFirst = userName.indexOf(searchTerm);
    
    console.log('The index of the first "' + searchTerm + '" from the beginning is ' + indexOfFirst);

Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...