Advertisement
Seregamil

is_valid_email

Jul 25th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. /*
  2.  
  3. By Seregamil
  4.  
  5.  
  6.  
  7. */
  8. #include a_samp
  9.  
  10. main(){
  11. if(is_valid_email("seregamil1397@yandex.ru")) print("yes");
  12. }
  13.  
  14. new web_post[][]={
  15. "@yandex.ru",
  16. "@mail.ru"
  17. };
  18.  
  19. is_valid_email(email[]){
  20. new web_number = -1, count_symbols, denite;
  21.  
  22. if(!('a' < email[0] < 'z')) return false;//почта начинается с любого символа, кроме латинского
  23.  
  24. for(new j;j!=sizeof(web_post);j++){//поиск почтовика из списка
  25. if(strfind(email, web_post[j], true) != -1) {
  26. web_number=j;
  27. break;
  28. }
  29. }
  30.  
  31. if(web_number == -1) return false;//такой почтовик не предусмотрен
  32.  
  33. count_symbols = (strlen(email) - strlen(web_post[web_number]));
  34.  
  35. if(count_symbols > 30) return false;// если больше 30 символов - false
  36. for(new j;j!=count_symbols;j++){
  37. switch(email[j]){
  38. case 'a'..'z','0'..'9': continue;
  39. case '-','.': denite++;//одинарный дефис или точка
  40. default: return false;//все остальные условия - запрет
  41. }
  42. }
  43. if(denite > 1) return false;//если дефисов или точек больше одного - запрет
  44. return true;
  45. }
  46.  
  47. /*
  48.  
  49. Логин должен состоять из латинских символов, цифр,
  50. одинарного дефиса или точки,
  51. начинаться с буквы и заканчиваться буквой или цифрой и содержать не более 30 символов.
  52.  
  53. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement