Извлечение строк из поля ввода с использованием регулярных выражений и jQuery - PullRequest
0 голосов
/ 16 июля 2011

Я пытаюсь сопоставить строку в поле ввода с помощью регулярного выражения /[1-9][a-zA-Z]/ и вставить ее в тег <p> с помощью jQuery.

Я изменил этот пример из документации по jQuery API, чтобы включить следующий оператор if. Когда я набираю '1A' в поле ввода, это работает, однако я хочу исключить оставшуюся часть строки, чтобы <p> включал только совпадающую часть строки.

    $("input").keyup(function () {

            if($(this).val().match(/[1-9][a-zA-Z]/)){
               var value = $(this).val();
            };

      $("p").text(value);
    }).keyup();

Я объяснил это ясно? Может ли кто-нибудь указать мне правильное направление?

Очень ценится,

1 Ответ

0 голосов
/ 16 июля 2011

То, что вы делаете в приведенном выше коде, заключается в том, что если значение поля ввода соответствует регулярному выражению, вы присваиваете его значение тегу <p>.Поскольку вы хотите присвоить совпавшую строку тегу <p>, вы должны сделать:

$("input").keyup(function () {
        var match = $(this).val().match(/[1-9][a-zA-Z]/);
        if(match){
           var value = match[0]; // Your problem was here
        };

  $("p").text(value);
}).keyup();

Метод match для String возвращает массив, содержащий совпадение, если оно прошло, или undefined если совпадение не удалось.

...