Я пытаюсь проверить адрес электронной почты и с помощью регулярных выражений вроде:JS RegExp выпуск
\b[a-z0-9._][email protected][a-z0-9.-]+\.[a-z]+\b/i
тесты на regexr.com сказать, что он работает, как задумано, но когда я пытаюсь сделать, как это:
var a = new RegExp("\b[a-z0-9._][email protected][a-z0-9.-]+\.[a-z]+\b/i");
console.log(a.test("[email protected]"));
Я получаю false
. Что я делаю не так? Является ли это регулярное выражение неправильным или, может быть, существует некоторая проблема из-за его построения с помощью конструктора или чего-то еще?
Я забыл подчеркнуть, да, идея заключается в том, чтобы создать регулярное выражение динамически из строки. Как я могу заставить его работать таким образом? –
Если вы создаете динамический шаблон, который необходимо обновить во время выполнения, а не в eval time, вы можете использовать конструктор 'RegExp'. Но, как указано выше, вы ** не ** включаете в себя косые черты и флагов в строке. –
Это не сработает, потому что вам нужны двойные обратные черточки. –