Подтвердить что ты не робот

Проверка javascript при применении regex

Прежде всего, вот мой фрагмент кода:

var str = '<!--:de-->some german text<!--:--><!--:en-->some english text<!--:-->';
var match =  str.match(/de-->([^<]+).+?en[^>]+>([^<]+)/i);
var textInDe = match[1]; 
var textInEn = match[2];

У меня есть эта регулярная проверка (спасибо The Mask), которая отлично работает.

Теперь я хочу проверить с помощью if-statement, если это регулярное выражение относится к некоторой строке или нет. Я использую javascript jquery.

Заранее спасибо:)

4b9b3361

Ответ 1

Вы можете использовать RegExp.test

if(/de-->([^<]+).+?en[^>]+>([^<]+)/i.test(str)) {
   // something
}

Ответ 2

var str = '<!--:de-->some german text<!--:--><!--:en-->some english text<!--:-->';
var match =  str.match(/de-->([^<]+).+?en[^>]+>([^<]+)/i);
if(match.length > 0){
//successful match
}

ИЛИ

var re = new RegExp('regex string');
  if (somestring.match(re)) {
//successful match
}

Ответ 3

Как насчет этого?

function IsMatch(v) {
   //basically build your regex here
   var exp = new RegExp("^de-->([^<]+).+?en[^>]+>([^<]+)$"); return exp.test(v);
}

To call it:
if(IsMatch('Your string')) alert('Found'); else alert('Not Found');