Laravel регулярные выражения для нескольких шаблонов не работает? - PullRequest
0 голосов
/ 03 марта 2019

Я хочу, чтобы мой шаблон регулярных выражений просто разрешал электронные письма из Борнмута с доменом> ac.uk и электронные письма от nhs с> .net или .uk.разделитель для регулярного выражения, и он не работает, и попытался удалить 'i', но это необходимо.

регулярное выражение: 'email' => ['required', 'string', 'email', 'max:255', 'regex:/(.*)@(bournemouth)\.ac.uk/i | @(nhs)\.net|uk/i', 'unique:users'],

1 Ответ

0 голосов
/ 03 марта 2019

Я предлагаю использовать

'regex:/.*@(?:bournemouth\.ac\.uk|nhs\.(?:net|uk))/i'

Или

'regex:/@(?:bournemouth\.ac\.uk|nhs\.(?:net|uk))/i'

Подробности

  • @ - @ char
  • (?:bournemouth\.ac\.uk|nhs\.(?:net|uk)) - сопоставление группы без захвата
    • bournemouth\.ac\.uk - строка bournemouth.ac.uk
    • | - или
    • nhs\.(?:net|uk) - nhs. с последующим указанием net или uk.

Обратите внимание, что буквенные точки экранированы, внутри шаблона между пробелами нет пробелов, ифлаг i устанавливается только в конце регулярного выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...