• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zeichen zählen und vergleichen

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Hallo!

Wenn jemand ein Passwort eingibt, soll das zwischen 6 und 12 Zeichen gross sein.

Mit der Funktion strlen() kann man die Zeichen zählen. Doch wie kann ich mit PHP abfragen, ob es weniger als 6 oder mehr als 12 Zeichen sind?

Wäre vorteilhaft:
Dass man noch abfragt, ob eine Zahl drin ist. Wenn nicht, soll ne Meldung kommen, dass man eine Zahl dazunehmen muss.

Ich habs bis jetzt so:
PHP:
if(strlen($_POST['passwort']) > 6)
{
 die("PAsswirt ist zu kurz");
{
Ich habe noch nie mit den <, >, =>, usw. Vergleichungsoperatoren gearbeitet. Hat jemand eine Seite, auf der diese gut erklärt werden?



MfG; matibaski
 
regex
PHP:
if(!preg_match("/^(?=.*\d).{6,12}$/i", $passwort))
{
    print "Unsicher oder so ne :P";
}

matcht auf

1234|||asdf1234|||aSp123

muss zahlen enthalten

oder

PHP:
if(!preg_match("/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$/", $passwort))
{
    print "Unsicher oder so ne :P";
}

matcht auf

asD1|||asDF1234|||ASPgo123

also buchstaben und zahlen und mindestens ein großbuchstabe und ein kleinbuchstabe ;)

hier findest du noch mehr aber ich denke mindestens der letzte sollte dir helfen

Regular Expression Library

unterbringen kannst du die so

PHP:
if(!preg_match("/hier regex/", $passwort))
{
    print "Unsicher oder so ne :P";
}

dabei müssen die / am anfang und am ende da bleiben

wenn du groß und kleinschreibung ignorieren willst schreibst du hinter das letzte / noch ein "i" also so

PHP:
if(!preg_match("/hier regex/i", $passwort))

das würde ich aber nicht bei meinem zweiten beispiel machen da der regex schon so ausgelegt ist das ein groß und ein kleinbuchstabe enthalten sein muss ;)

FG Miah
 
Hallo!

Wenn jemand ein Passwort eingibt, soll das zwischen 6 und 12 Zeichen gross sein.

Mit der Funktion strlen() kann man die Zeichen zählen. Doch wie kann ich mit PHP abfragen, ob es weniger als 6 oder mehr als 12 Zeichen sind?

Wäre vorteilhaft:
Dass man noch abfragt, ob eine Zahl drin ist. Wenn nicht, soll ne Meldung kommen, dass man eine Zahl dazunehmen muss.

Ich habs bis jetzt so:
PHP:
if(strlen($_POST['passwort']) > 6)
{
 die("PAsswirt ist zu kurz");
{
Ich habe noch nie mit den <, >, =>, usw. Vergleichungsoperatoren gearbeitet. Hat jemand eine Seite, auf der diese gut erklärt werden?



MfG; matibaski

Was is daran so schwer?
PHP:
3 < 4 -> TRUE
4 > 3 -> TRUE
3 > 4 -> FALSE
4 < 3 -> FALSE
0 < 0 -> FALSE
0 <= 0 -> TRUE
0 > 0 -> FALSE
0 >= 0 -> TRUE
In deinem Fall zwischen 6 und 12:

PHP:
if(strlen($_POST['passwort']) > 6 && strlen($_POST['passwort']) < 12)
{

  echo "Passwirt ist zwischen 6 und 12 Zeichen lang";

}
elseif (strlen($_POST['passwort']) < 6) {

  echo "PW zu kurz. Bitte noch um mindestens" . (6-($_POST['passwort'])) + 1 . " Zeichen erweitern!";   

}
elseif (strlen($_POST['passwort']) > 12) {

  echo "PW zu lang! Bitte um mindestens " . (($_POST['passwort']) - 12) + 1 . " Zeichen verkürzen!";

}
 
Zuletzt bearbeitet:
Die Version von m0sT ist genial.
Wär ich ned drauf gekommen.

@ Slibbo:
Könntest du mir das mit preag_match() erklären?
Ich kapiere diese Zeichen nicht.
PHP:
(!preg_match("/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$/", $passwort))
Also das mit /^(?=.*\d) usw...
Habe noch nie mit sowas gearbeitet, drum :D

MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben