(Edit: What's Code Golf: Code Golf - это проблемы для решения конкретной проблемы с наименьшим количеством кода по количеству символов, которые вы предпочитаете. Подробнее здесь в Meta StackOverflow.)
Code Golfers, вот вызов строковых операций.
Проверка адресов электронной почты, но без регулярных выражений (или аналогичной библиотеки синтаксического анализа). Это не столько об адресах электронной почты, сколько о том, насколько короткими вы можете написать различные строковые операции и ограничения, приведенные ниже.
Правила следующие (да, я знаю, это не соответствует RFC, но это будут 5 правил для этой задачи):
-
Как минимум 1 символ из этой группы перед @:
A-Z, a-z, 0-9, . (period), _ (underscore)
-
@должно существовать ровно один раз
[email protected] ^
-
Период (.) должен существовать ровно через один раз после @
[email protected] ^
-
Не менее 1 только символ [A-Z, a-z] между @и следующим. (Период)
[email protected] ^
-
По крайней мере 2 только символы [A-Z, a-z] после финала. Период
[email protected] ^^
Пожалуйста, опубликуйте только метод/функцию, которая возьмет строку (предложенный адрес электронной почты), а затем вернет логический результат (true/false) в зависимости от того, какой адрес электронной почты действителен (true) или недействителен (false).
Samples:
[email protected] (valid/true) @w.org (invalid/false)
[email protected]@d.org (invalid/false) [email protected] (invalid/false)
[email protected]%.org (invalid/false) s%[email protected] (invalid/false)
[email protected] (invalid/false) [email protected] (valid/true)
[email protected] (valid/true) [email protected]%.com (invalid/false)
Удачи!