Как сопоставить что-либо между <&> в регулярных выражениях? - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь сопоставить все, что лежит между <и>, и, похоже, ничего не работает.

Мой текущий код:

    var regex = /\<(.*?)\>/
    var targeting = $('#auto-expand').val     //A text area
    function validateText(field)
    {
        if (regex.test(field) == true)
            {
                alert(field.match(regex))
            }
        else
            {
                alert("fail")
            }
    }

Он продолжает возвращать ошибку, неконечно почему.Любая помощь будет так здорово!:)

1 Ответ

3 голосов
/ 09 мая 2019

Из вашего вопроса не ясно, как вы вызываете функцию validateText. Но похоже, что вы пытаетесь установить targeting вне функции, что означает, что вы, вероятно, устанавливаете его до того, как в поле появится текст.

Ниже я изменяю val на val() для вызова функции и поиска значения при запуске функции, а не до этого. Само регулярное выражение работает отлично (, помня об этом )

var regex = /<(.*?)>/

function validateText() {
  var targeting = $('#auto-expand').val() //A text area

  if (regex.test(targeting) == true) {
    alert(targeting.match(regex))
  } else {
    alert("fail")
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<textarea id="auto-expand"></textarea>
<button onclick=validateText()>Test</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...