13.08.2014, 08:52
Hola estoy haciendo una serie de comprobaciones para verificar si el correo que ingresa el usuario es como yo deseo pero no consigo lograrlo.
pawn Код:
if (CorreoValido(inputtext))
{
SendClientMessage(playerid, -1, " El correo ingresado no es valido.");
return 1;
}
stock CorreoValido(email[])
{
new len = strlen(email);
if (len == 0) return true;
new var_1 = 0;
new var_2 = 0;
static const servidores[][] =
{
"@outlook.com", "hotmail.com"
};
for (new a = 0; a < sizeof(servidores); a++)
{
if (strfind(email, servidores[a], true) != -1) var_2 = 1;
}
// Hasta aqui me funciona si, el problema lo tengo en el bucle de abajo...
/*
if(var_2 == 0) return false; Haciendo esto me verifica si el correo es @outlook.com o hotmail.com
Yo quiero que verifique tambien si antes del @ lleva 5 caracteres (A-Z, 0-9, - o _)
Ejemplo: juani@hotmail.com o ju-12@hotmail.com
}
*/
if(var_2 == 0)
{
for (new i = 0; i < sizeof(len); i++)
{
if ((email[i] >= 0 && email[i] <= 9) || (email[i] >= 'A' && email[i] <= 'Z') || (email[i] >= 'a' && email[i] <= 'z') || (email[i] == '.') || (email[i] == '-') || (email[i] == '_') || (email[i] == '@'))
{
var_1++;
if (email[i] == '@') break;
} else {
return true; }
}
if (var_1 > 5) return false;
}
return true;
}