2013-12-12 1 views
2

Я пытаюсь сделать валидации, сопоставляя входы с регулярными выражениями нечувствительным к регистру образом. Регулярное выражение возвращается из службы в виде строки на объекте. Я мог бы получить что-то вроде:javascript create case нечувствительное регулярное выражение из строки

{regex:"ane"} 

я могу сделать следующее:

var rx = new RegExp(object.regex); /*The regex is now: /ane/*/ 
"plane".match(rx); 

Однако, я то, что я действительно хочу сделать, это следующие:

var rxInsensitive = new RegExp(/ane/i); /*The regex is now: /ane/i */ 
"plANE".match(rx); 

У меня возникли проблемы однако преобразование строки в эту форму. Когда я делаю следующее:

var rxInsensitive = newRegExp(object.regex + "/i"); 

Я в конечном итоге получить регулярное выражение /ane/i/ вместо /ane/i. У кого-нибудь есть предложения?

ответ

7
var re = new RegExp("pattern", "flags"); 

поэтому было бы

var rx = new RegExp(object.regex,"i"); 

See MDN for more info

+0

Ничего себе, только то, что мне было нужно, спасибо за быстрый ответ. Я соглашусь, когда он станет доступен. – Conqueror