Шаблон регулярного выражения, содержащий подстроку и без полей

Я хочу проверить форму ввода в Angular, строка должна содержать подстроку:

facebook.com

или же

fb.me

а также

no whitespaces

так, например:

1) randomString -> Fail
2) www.facebook.com -> Ok
3) www.fb.me -> Ok
4) www.facebook.com/pippo pallino -> Fail (there is a withespace after the word "pippo")

для первых 3 у меня есть рабочий шаблон:

pattern = '^.*(?:facebook\\.com|fb\\.me).*$';

но это не проверка четвертого.

1 ответ

Решение

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

pattern = '^\\S*(?:facebook\\.com|fb\\.me)\\S*$';

Или, с регулярным обозначением букв:

pattern = /^\S*(?:facebook\.com|fb\.me)\S*$/;

Вот, .* заменяется на \S* соответствует 0 или более непробельным символам.

Смотрите демо-версию regex онлайн.

Другие вопросы по тегам