Аргумент для new RegExp()
либо в /regex here/
, либо в кавычках "regex here"
, но НЕ в обоих.Форма косой черты генерирует регулярное выражение само по себе без необходимости new RegExp()
, поэтому обычно она используется только сама по себе, а строка в кавычках используется с new RegExp()
.
var pattern = new RegExp('^[a-zA-Z0-9._-]+@' + domain + '$');
Адреса электронной почты могутнамного сложнее, чем вы позволяете здесь.Если вы действительно хотите разрешить все возможные легальные адреса электронной почты, вам потребуется нечто гораздо более сложное, чем то, что поиск Google даст много вариантов.
Если все, что вам действительно нужно сделать, это проверить, что домен соответствуетконкретный домен, который намного проще, даже без регулярных выражений.
var userinput = 'dirk@something.com';
var domain = 'somethingelse.com';
var testValue = "@" + domain.toLowerCase();
if (userinput.substr(userinput.length - testValue.length).toLowerCase() != testValue) {
// incorrect domain
}