Guten Morgen,
Wie kann ich in einem Dialog abfragen ob mindestens 1 Burchstabe und mindestens 1 Zahl vorhanden ist?
wäre echt gut wenn mit jemand helfen könnte.
Gruß Fabi.StaR
Guten Morgen,
Wie kann ich in einem Dialog abfragen ob mindestens 1 Burchstabe und mindestens 1 Zahl vorhanden ist?
wäre echt gut wenn mit jemand helfen könnte.
Gruß Fabi.StaR
Unter OnDialogResponse abfragen ob strlen(inputtext) größer als 0 ist.
Gruß, Zunno
Ich würde es mit IsNumeric probieren.
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
Für die Zahl.
und für die Buchstaben?
achja hir mal ein stock der eher besser ist :
stock isNumeric(const string[])
{
new length=strlen(string);
if (length==0) return false;
for (new i = 0; i < length; i++)
{
if (
(string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
|| (string[i]=='-' && i!=0) // A '-' but not at first.
|| (string[i]=='+' && i!=0) // A '+' but not at first.
) return false;
}
if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
return true;
}
strlen(inputtext)
Wie von @ [GSF]Zunno: oben bereits geschrieben, damit würde ich es versuchen.
also so?:
case DIALOG_REGISTER: {
if(response) {
if(strlen(inputtext) == 0) {
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,#SERVERFARBE"C{FFFFFF}ity "#SERVERFARBE"o{FFFFFF}f "#SERVERFARBE"R{FFFFFF}oleplay Community: Registrieren","Bitte gebe ein Password an:\nWas mindestens aus 6 zeichen und einem Burchstaben und Zahlen bestehet","Register","Abbrechen");
return 1;
} else if(strlen(inputtext) || isNumeric(inputtext)) {
CreateAccount(playerid, MD5_Hash(inputtext));
PlayerInfo[playerid][pLogged] = 1;
SpawnPlayer(playerid);
return 1;
} else ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,#SERVERFARBE"C{FFFFFF}ity "#SERVERFARBE"o{FFFFFF}f "#SERVERFARBE"R{FFFFFF}oleplay Community: Registrieren","Bitte gebe ein Password an:\nWas mindestens aus 6 zeichen und einem Burchstaben und Zahlen bestehet","Register","Abbrechen");
} else Kick(playerid);
}
Was ist das denn für ein Quatsch ?
else if(strlen(inputtext) || isNumeric(inputtext))
Ich gebe dir einen Ansatz;
if(!strlen(inputtext) || strlen(inputtext) < 3 || strlen(inputtext) > 25)
Gilt für Buchstaben jetzt, das mit dem Zeichen wirst du hinkriegen oder?
ne
sorry
ich will ja Buchstaben und zahl abfragen ob sie vorhanden sind
Lass doch auch Sonderzeichen zu so ist es sicherer.
Einfach abfragen ob mehr als 8 Zeichen eingegeben wurden.
stock IstPasswort(string[])
{
new buch, zahl;
for(new i=0; i<strlen(string); i++)
{
if(string[i] >= '0' && string[i] <= '9') zahl = 1;
if((string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z')) buch = 1;
}
if(zahl == 1 && buch == 1) return true;
else return false:
}
Das würde das tun was du willst, abfragen ob mindestens 1 Zahl und mindestens 1 Buchstabe vorhanden ist.