Ich versuche, einen Regex-Test in JavaScript zu erstellen, der eine Zeichenfolge testet, die eines der folgenden Zeichen enthält:
!$%^&*()_+|~-=`{}[]:";'<>?,./
Weitere Infos bei Interesse :)
Es ist für eine ziemlich coole Anwendung zum Ändern von Passwörtern, an der ich arbeite. Falls Sie interessiert sind, hier ist der Rest des Codes.
Ich habe eine Tabelle, in der die Kennwortanforderungen aufgeführt sind. Wenn Endbenutzer das neue Kennwort eingeben, wird ein Array von Regexes getestet und ein Häkchen in die entsprechende Tabellenzeile gesetzt, wenn ... ausgecheckt :) Ich muss nur dieses hinzufügen anstelle des 4. Elements im validation
Array.
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/\W|_/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
Ja, es gibt auch eine entsprechende serverseitige Validierung!
.addClass("check")
und verwenden .removeClass("check")
? Und wenn ich if (someBoolean == true)
im Code sehe, erschrecke ich immer. Tu es einfach if (someBoolean)
. Oder besser noch $(".form table tr").eq(i+1).toggleClass("check", !!this); valid = valid && !!this;
.