Javascript.RU

test

Синтаксис

regexp.test([str])

Аргументы

str
текст, в котором искать

Описание, примеры

Используется, чтобы выяснить, есть ли совпадения регулярного выражения со строкой, аналогично String#search.

Чтобы получить сами совпадения - используйте exec или String#match.

Следующий пример выводит сообщение, в зависимости от наличия совпадений:

function testinput(re, str){
   if (re.test(str))
      midstring = " содержит ";
   else
      midstring = " не содержит ";
   document.write (str + midstring + re.source);
}

Автор: pilot, дата: 24 августа, 2009 - 16:12
#permalink

есть вопрос! проверил скрипт и оказалось, что если взять строку "max" или "maxr", то он уведомляет, что содержит!!! Но по сути то строка другая! Вот как сделать так, что бы он проверял строку корректно?? тобишь, что бы различал между "max" и "maxr" ? заранее спасибо


Автор: Илья Кантор, дата: 24 августа, 2009 - 16:48
#permalink

Ваш вопрос непонятен.. Напишите подробнее, что вы делаете и чего ожидаете. Дайте код, на худой конец..


Автор: sysya, дата: 9 января, 2010 - 13:03
#permalink

Попробуй так петтерн написать: /^max$/
так должен найти только 'max'
правда этот вариант не совсем подходит, но надо экспериментировать


Автор: cobria2, дата: 8 февраля, 2012 - 17:43
#permalink

есть якорь \b, который определяет границу слова:

"/\bmax\\b/";


Автор: Radoslav01010011100 (не зарегистрирован), дата: 25 марта, 2015 - 17:34
#permalink

А кто вам мешает использовать оператор "==" для проверки на полное совпадение строк?


Автор: Андрей Вячеславович (не зарегистрирован), дата: 26 сентября, 2009 - 20:52
#permalink

Скажите пожплуйста, как совместить строку поиска она "re" в этом примере с регулярным вырожением? То есть если мне нужно искать строку катороя состоит из какойнибудь переменной и регулярного вырожения. Как всунуть переменную в само регулярное вырожение?
Саранее спасибо.


Автор: sysya, дата: 9 января, 2010 - 13:19
#permalink

Может быть так, например:

var variable = 'в тапок';
var re = 'Котик ' + variable + ' накакал';

)


Автор: Гость (не зарегистрирован), дата: 9 января, 2010 - 13:15
#permalink

Сформировать регулярное выражение с использованием значения переменной? Используйте не литеральную запись, а конструктор объекта.

var myStr = 'ololo';
    regex = new RegExp('^\\w+'+myStr+'\\w+$','i');

Аналогично /^\w+ololo\w+$/i


Автор: KOLANICH, дата: 19 февраля, 2010 - 23:23
#permalink
alert(rl.test(l.name)+"\n"+rl.test(l.name)+"\n"+rl.test(l.name));

l удоволетворяет выражению rl
выводит
true
false
true


Автор: Гость (не зарегистрирован), дата: 22 ноября, 2010 - 16:51
#permalink

Здравствуйте! Мне надо сделать проверку на русские буквы. У меня есть такое условие: if (! (/^['А-я']/.test(name)) )
Но оно не работает с русскими буквами. Если в условие ставлю английские буквы, то нормально проверяет. А с русскими не проверяет. Почему так происходит?


Автор: B@rmaley.e><e, дата: 22 ноября, 2010 - 17:12
#permalink

Читайте про регулярные выражения. Правильный регэксп в Вашем случае будет таким: /^[а-яё]+$/i

var regexp = /^[а-яё]+$/i;
alert( [regexp.test('Вася'), // true
         regexp.test('Фёдор'), // true
         regexp.test('Masha'), // false
         regexp.test('Мaша'), // false, т.к. вторая буква из латинского алфавита
         regexp.test('93838рш лыфар7373') // false
]);

Также проблема может заключаться в кодировке.


Автор: Гость (не зарегистрирован), дата: 22 ноября, 2010 - 17:37
#permalink

Спасибо. Ваш код у меня работает. А вот когда ставлю имя из моего поля всё равно возвращает false


Автор: arraylove.narod.ru (не зарегистрирован), дата: 4 августа, 2013 - 01:22
#permalink

В регулярном выражении не хватает больших русских букв.

Надо так var regexp = /^[А-Яа-яЁё]+$/;


Автор: Гость (не зарегистрирован), дата: 11 февраля, 2012 - 01:31
#permalink

Ну вот скажите мне, какого черта в описании метода не написано, что он возвращает (эта статья, кстати, не единичный случай)?


Автор: tzeentch (не зарегистрирован), дата: 1 апреля, 2013 - 13:16
#permalink

Судя по примеру - boolean.


Автор: makong (не зарегистрирован), дата: 26 июня, 2013 - 16:44
#permalink

Привет всем, помогите с регулярным выражением для целых и дробных чисел. Спасибо.


Автор: NixCore, дата: 6 октября, 2013 - 10:44
#permalink

Здравствуйте!
Думаю, нужно указать в статьях, где описывается regexp.test(), что метод test() меняет lastIndex регулярного выражения (вопреки моим ожиданиям).
И если test() используется в цикле как проверочное условие прежде чем запустить exec(), то lastIndex придется возвращать в исходную позицию (до метода test).


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum