Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Функция is_valid_email(email[])

Seregamil

Мастер
Добрый день, создал простую проверку на email игрока, может кому и пригодится...

P.S. критерии email'a взял с яндекса, но как я понимаю - они везде едины.

Массив с почтовиками:

PHP:
new web_post[][]={
	"@yandex.ru",
	"@mail.ru"
};
почтовики добавляйте сами, мне лень.

Сама функция:

PHP:
is_valid_email(email[]){
	new web_number = -1, count_symbols, denite;

	if(!('a' < email[0] < 'z')) return false;//почта начинается с любого символа, кроме латинского

	for(new j;j!=sizeof(web_post);j++){//поиск почтовика из списка
		if(strfind(email, web_post[j], true) != -1) {
		    web_number=j;
			break;
		}
	}

	if(web_number == -1) return false;//такой почтовик не предусмотрен

	count_symbols = (strlen(email) - strlen(web_post[web_number]));
	
	if(count_symbols > 30) return false;// если больше 30 символов - false
	for(new j;j!=count_symbols;j++){
		switch(email[j]){
		    case 'a'..'z','0'..'9':	continue;
		    case '-','.': denite++;//одинарный дефис или точка
		    default: return false;//все остальные условия - запрет
		}
	}
	if(denite > 1) return false;//если дефисов или точек больше одного - запрет
	return true;
}
Использование:

PHP:
if(!is_valid_email( переменная, отвечающая за введенный email )) return Kick(playerid);
Критерии:

Логин должен состоять из латинских символов, цифр,одинарного дефиса или точки,начинаться с буквы и заканчиваться буквой или цифрой и содержать не более 30 символов.
Автор: Seregamil
 
Последнее редактирование модератором:
  • Нравится
Реакции: ^_^
Сверху Снизу