Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: rizla poslato Oktobar 13, 2019, 18:44:19 POSLE PODNE

Naslov: Koriscenje sscanf
Poruka od: rizla poslato Oktobar 13, 2019, 18:44:19 POSLE PODNE
Problem(error/warning): hocu da iskoristim sscanf  za proveru tacnosti maila kada igrac upise u dialogu, nesto sam uradio ali mi prihvati mail kada je upisan
asd @ asd.com, a zanima me kako da izbegnem razmak da mi prihvati samo asd@asd.com

Dio skripte: [pawn]if(sscanf(inputtext,"s[64]'@'s[15]", email, domain))[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Naslov: Odg: Koriscenje sscanf
Poruka od: rizla poslato Oktobar 13, 2019, 18:51:24 POSLE PODNE
Citat: rizla poslato Oktobar 13, 2019, 18:44:19 POSLE PODNE
Problem(error/warning): hocu da iskoristim sscanf  za proveru tacnosti maila kada igrac upise u dialogu, nesto sam uradio ali mi prihvati mail kada je upisan
asd @ asd.com, a zanima me kako da izbegnem razmak da mi prihvati samo asd@asd.com

Dio skripte: [pawn]if(sscanf(inputtext,"s[64]'@'s[15]", email, domain))[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike

izvinjavam se na duplom postu pokusao sam izmenuti  [ member=1996 ][/member ] u @
Naslov: Odg: Koriscenje sscanf
Poruka od: __vedran.xyz77 poslato Oktobar 13, 2019, 18:55:26 POSLE PODNE
Mislim da to ne mozes uraditi ali nisam siguran
Naslov: Odg: Koriscenje sscanf
Poruka od: daddyDOT poslato Oktobar 13, 2019, 19:43:24 POSLE PODNE
 https://forum.sa-mp.com/showthread.php?t=626317
Razgledaj ovo
Naslov: Odg: Koriscenje sscanf
Poruka od: Bašovski poslato Oktobar 13, 2019, 20:48:17 POSLE PODNE
Koristi regular expressions.

https://forum.sa-mp.com/showthread.php?t=609570
https://stackoverflow.com/questions/201323/how-to-validate-an-email-address-using-a-regular-expression
Naslov: Odg: Koriscenje sscanf
Poruka od: Slade poslato Oktobar 13, 2019, 22:43:02 POSLE PODNE
[pawn]GetMail(string[])
{
   new string_lenght = strlen(string), email[24];
   for(new i = 0; i < string_lenght; i++)
   {
      strcat(email, i);
      if(string == '@') break;
   }
   return email;
}
GetDomain(string[])
{
   new string_lenght = strlen(string), domain[15], bool:DomainAdd = false;
   for(new i = 0; i < string_lenght; i++)
   {
      if(DomainAdd) strcat(domain, i);
      //
      if(string == '@' && !DomainAdd) DomainAdd = true;
      else if(string == '.' && DomainAdd) break;
   }
   return domain;
}
// Korištenje:
new domain[16], email[25];
strmid(email,GetMail(inputtext),0,strlen(GetMail(inputtext)),sizeof(email));
strmid(domain,GetDomain(inputtext),0,strlen(GetDomain(inputtext)),sizeof(domain));[/pawn]

Probaj,
[member=1996][/member] zamjeni sa @.
Naslov: Odg: Koriscenje sscanf
Poruka od: rizla poslato Oktobar 13, 2019, 23:02:28 POSLE PODNE
vise mi se svidja ideja od basovskog, dosta preglednije i jednostavnije, hvala svima u svakom slucaju
Naslov: Odg: Koriscenje sscanf
Poruka od: YumikoJR poslato Oktobar 14, 2019, 13:56:43 POSLE PODNE
https://github.com/GRGServer/SAMP/blob/master/includes/regex.inc

[pawn]
#define IsValidEmail(%1) \
    regex_match(%1, "[a-zA-Z0-9_\\.]+@([a-zA-Z0-9\\-]+\\.)+[a-zA-Z]{2,4}")

if (!IsValidEmail(inputtext)) {
  //code
}
[/pawn]