officialandrey
@officialandrey

Как проверить валидацию @mail?

УСЛОВИЕ
Написать программу, которая будет проверять email адрес на валидность.
Под правильным email адресом подразумевается строка вида AAA@BBB.CCC где:
AAA - строка минимальной длинны "2", которая может содержать большие и маленькие буквы латинского алфавита и цифры. Допускаются спецсимволы '.'(точка), '_'(подчеркивание), '-' (дефис), стоящие внутри строки.
BBB - строка ненулевой длины, которая может содержать большие и маленькие буквы латинского алфавита и цифры.
CCC - строка длинны от 2-х до 4-х символов, которая может содержать большие и маленькие буквы латинского алфавита.
#!/bin/bash
read N
arr=($(cat))
regex="^[A-Za-z0-9]+[A-Za-z0-9._-]?[A-Za-z0-9]@[A-Za-z0-9]+\.[A-Za-z]{2,4}"
for ((i=0; i<$N; i++))
do
	if [[ "${arr[$i]}" =~ $regex  ]]
	then
		echo "YES"
	else
		echo "NO"
	fi
done


Ошибки при:
x.x.x@xxx.xxx

Потому что присутствует более двух спец-знаков. Вот это нужно исправить.
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы