Frage von datensammler, 22

JS Passwort überprüfen?

Hallo zusammen

Ich versuche ein Passwort zu validieren mithilfe von Regex.. Es soll nur erlaubt sein Buchstaben + Zahlen oder Zahlen + Sonderzeichen oder Sonderzeichen + Buchstaben... Nun geht es immer in die If schlaufe rein wenn ich NUR zahlen eingebe..Wieso? (Code-Style nicht beachten) Danke;D

 if(document.getElementById('Passwort').value.match(/[a-zA-ZäöüÄÖÜ]/) && document.getElementById('Passwort').value.match(/[0-9]/) || document.getElementById('Passwort').value.match(/[a-zA-ZäöüÄÖÜ]/) && document.getElementById('Passwort').value.match(/(?=.*[+-_,.:?!])/) ||  document.getElementById('Passwort').value.match(/[0-9]/) && document.getElementById('Passwort').value.match(/(?=.*[+-_,.:?!])/)){
    document.getElementById('Passwort').style.backgroundColor = "green";
    document.getElementById('passwortfalsch').innerHTML= "";
    document.getElementById('passwortfalsch').style.border= "";
    uberprufung = true;

}
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Isendrak, 7

Probier's mal so:

if(
(document.getElementById('Passwort').value.match(/[a-zA-ZäöüÄÖÜ]/) && document.getElementById('Passwort').value.match(/[0-9]/)) ||
(document.getElementById('Passwort').value.match(/[a-zA-ZäöüÄÖÜ]/) && document.getElementById('Passwort').value.match(/[+_,.:?!-]/)) ||
(document.getElementById('Passwort').value.match(/[0-9]/) && document.getElementById('Passwort').value.match(/[+_,.:?!-]/))
){
document.getElementById('Passwort').style.backgroundColor = "green";
document.getElementById('passwortfalsch').innerHTML= "";
document.getElementById('passwortfalsch').style.border= "";
uberprufung = true;
}

Anmerkungen:

1. Ein Bindestrich "-", der als solcher genommen werden soll, sollte in einer Zeichengruppe immer am Ende stehen.

2. Man kann zwar manchmal zuviele Klammern in eine Bedingung setzen, aber in deinem Fall waren's 3 offene und 3 geschlossene zuwenig...

Antwort
von NeoExacun, 13

Weil deine Bedingungen so geschrieben sind. Bring deine Bedingungsklammer mal in eine ordentliche Form, dann siehst du's vielleicht.

Keine passende Antwort gefunden?

Fragen Sie die Community