Ответы здесь (включая этот) будут очень предвзятыми, поскольку ваш вопрос очень субъективен.
Я постараюсь дать вам возможность быть максимально объективным.
Сначала давайте рассмотрим, что такое JOI и регулярные выражения:
JOI - это библиотека только для javascript, которая проверяет схему объектов javascript . Он использует (в соответствии с примером страницы на github) регулярные выражения.
Регулярное выражение является общим для языка (с некоторыми вариациями), которое может использоваться (среди его вариантов использования) для проверки строк .
Если вы пишете веб-интерфейс и хотите проверить данные, заполненные пользователем, JOI специально создан (потому что он может заботиться о целых объектах).
Если вы просто хотите проверить правильность формы электронной почты, JOI будет излишним. В этом конкретном случае вы можете жить только с регулярным выражением.
Субъективная часть: Существует определенная школа (группа) разработчиков программного обеспечения, которой не нравятся регулярные выражения из-за проблем с читабельностью. Я являюсь одним из них. Если вам нужна только проверка электронной почты, я бы порекомендовал вам написать валидатор yourselve (чтобы проверить, содержит ли он знак «@» ... и правильное ли доменное имя следует за «@» и т. Д.).