Используется, чтобы выяснить, есть ли совпадения регулярного выражения со строкой, аналогично String#search.
Чтобы получить сами совпадения - используйте exec или String#match.
Следующий пример выводит сообщение, в зависимости от наличия совпадений:
function testinput(re, str){
if (re.test(str))
midstring = " содержит ";
else
midstring = " не содержит ";
document.write (str + midstring + re.source);
}
есть вопрос! проверил скрипт и оказалось, что если взять строку "max" или "maxr", то он уведомляет, что содержит!!! Но по сути то строка другая! Вот как сделать так, что бы он проверял строку корректно?? тобишь, что бы различал между "max" и "maxr" ? заранее спасибо
Ваш вопрос непонятен.. Напишите подробнее, что вы делаете и чего ожидаете. Дайте код, на худой конец..
Попробуй так петтерн написать: /^max$/
так должен найти только 'max'
правда этот вариант не совсем подходит, но надо экспериментировать
есть якорь \b, который определяет границу слова:
"/\bmax\\b/";
А кто вам мешает использовать оператор "==" для проверки на полное совпадение строк?
Скажите пожплуйста, как совместить строку поиска она "re" в этом примере с регулярным вырожением? То есть если мне нужно искать строку катороя состоит из какойнибудь переменной и регулярного вырожения. Как всунуть переменную в само регулярное вырожение?
Саранее спасибо.
Может быть так, например:
)
Сформировать регулярное выражение с использованием значения переменной? Используйте не литеральную запись, а конструктор объекта.
Аналогично /^\w+ololo\w+$/i
l удоволетворяет выражению rl
выводит
true
false
true
Здравствуйте! Мне надо сделать проверку на русские буквы. У меня есть такое условие: if (! (/^['А-я']/.test(name)) )
Но оно не работает с русскими буквами. Если в условие ставлю английские буквы, то нормально проверяет. А с русскими не проверяет. Почему так происходит?
Читайте про регулярные выражения. Правильный регэксп в Вашем случае будет таким: /^[а-яё]+$/i
Также проблема может заключаться в кодировке.
Спасибо. Ваш код у меня работает. А вот когда ставлю имя из моего поля всё равно возвращает false
В регулярном выражении не хватает больших русских букв.
Надо так var regexp = /^[А-Яа-яЁё]+$/;
Ну вот скажите мне, какого черта в описании метода не написано, что он возвращает (эта статья, кстати, не единичный случай)?
Судя по примеру - boolean.
Привет всем, помогите с регулярным выражением для целых и дробных чисел. Спасибо.
Здравствуйте!
Думаю, нужно указать в статьях, где описывается regexp.test(), что метод test() меняет lastIndex регулярного выражения (вопреки моим ожиданиям).
И если test() используется в цикле как проверочное условие прежде чем запустить exec(), то lastIndex придется возвращать в исходную позицию (до метода test).