Как использовать регулярные выражения для выполнения проверки? - PullRequest
2 голосов
/ 03 ноября 2010

Я хотел бы оценить поле формы с помощью регулярного выражения.

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

Я представляю что-то таким образом:

if($('#someID').val() == /someregex/) {doSomething()}

Но это не работает.Любой совет?

Ответы [ 6 ]

3 голосов
/ 03 ноября 2010

Использование

if (/^someregex$/.test($('someID').value()) {
     // match
} else {
     // no match
}
0 голосов
/ 03 ноября 2010

Что-то вроде:

if (/myRegExp/.test($('#myID').val()) { 
  //... do whatever 
}

см http://www.evolt.org/regexp_in_javascript

0 голосов
/ 03 ноября 2010

Мы не сравниваем значения с регулярными выражениями.Мы используем регулярные выражения для проверки , если значение соответствует шаблону.

0 голосов
/ 03 ноября 2010

Я думаю, что вы ищете .test():

var myRegex = /someregex/;
if ( myRegex.test($('#someID').value()) ) {
    doSomething();
}

Вы можете использовать exec(), чтобы проверить его и получить массив его совпадений, или match() из строкового объекта.

0 голосов
/ 03 ноября 2010

используйте метод match для строк ..

string.match(regexp)

так в вашем случае

if( $('#someID').value().match(/someregex/) ) {doSomething()}
0 голосов
/ 03 ноября 2010

Обратите внимание, что в jQuery нет метода value(), вам нужно использовать val() и match, например:

if($('#someID').val().match(/someregex/) {
  // success
}

Подробнее:

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