Соответствует только тогда, когда строка содержит ВСЕ символы, указанные в RegExp - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь создать простой валидатор, который будет соответствовать John@gmail.com, но не John@gmailcom или Johngmail.com - он должен содержать как @, так и

, который я использую this - /[@.]/g, но он сопоставляется и проверяется, когда сопоставляется только один из этих символов.

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 22 января 2020

Проблема с вашим регулярным выражением заключается в том, что [] скажет, присутствует ли один из @ или ..

Если порядок имеет значение, и вы хотите @ перед ., вы можете использовать:

@.*\.

Это будет соответствовать любой строке с @ и . с любым символом между ними.

Если порядок не важно, я думаю, что на самом деле нет необходимости в регулярном выражении:

myString.includes('@') && myString.includes('.')

Версия регулярного выражения доступна на регулярном выражении regex101 , так что вы можете видеть детали.

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