jQuery Validate Plugin - Passwort-Check - Mindestanforderungen - Regex

Ich habe ein kleines problem mit meinem Passwort-checker.

Es muss ein Registrierungs-Formular mit einigen Feldern.
Ich verwende jQuery-Validate plugin zur Validierung von Benutzer-Eingaben.

Alles funktioniert, außer die Passwort-Validierung:

Das Passwort sollte einige Mindestanforderungen erfüllen:

  • minimale Länge: 8 -> ich habe gerade mit 'minlength: 8'
  • mindestens einen Kleinbuchstaben, Zeichen
  • mindestens eine Ziffer
  • Zulässige Zeichen: A-Z A-z 0-9 @ * _ - . !

Im moment habe ich diesen code verwenden, um überprüfen Sie das Kennwort:

$.validator.addMethod("pwcheck",
function(value, element) {
   return /^[A-Za-z0-9\d=!\-@._*]+$/.test(value);
});

Dieser Code funktioniert für die erlaubten Zeichen, aber nicht für die Mindestanforderungen.
Ich weiß, dass Sie verwenden können, zum Beispiel (?=.*[a-z]) für ein lower-case-Anforderung. Aber ich verstehe es einfach nicht, um zu arbeiten.

Wenn ich (?=.*[a-z]) der ganze code nicht mehr funktioniert. Ich muss wissen, wie man richtig den code hinzufügen, um die bestehende.

Danke für Eure Antworten!

Dies ist der vollständige code

<script>
                $(function() {
                    $("#regform").validate({
                        rules: {
                            forename: {
                                required: true
                            },
                            surname: {
                                required: true
                            },
                            username: {
                                required: true
                            },
                            password: {
                                required: true,
                                pwcheck: true,
                                minlength: 8
                            },
                            password2: {
                                required: true,
                                equalTo: "#password"
                            },
                            mail1: {
                                required: true,
                                email: true
                            },
                            mail2: {
                                required: true,
                                equalTo: "#mail1"
                            }
                        },
                        messages: {
                            forename: {
                                required: "Vornamen angeben"
                            },
                            surname: {
                                required: "Nachnamen angeben"
                            },
                            username: {
                                required: "Usernamen angeben"
                            },
                            password: {
                                required: "Passwort angeben",
                                pwcheck: "Das Passwort entspricht nicht den Kriterien!",
                                minlength: "Das Passwort entspricht nicht den Kriterien!"
                            },
                            password2: {
                                required: "Passwort wiederholen",
                                equalTo: "Die Passwörter stimmen nicht überein"
                            },
                            mail1: {
                                required: "Mail-Adresse angeben",
                                email: "ungültiges Mail-Format"
                            },
                            mail2: {
                                required: "Mail-Adresse wiederholen",
                                equalTo: "Die Mail-Adressen stimmen nicht überein"
                            }
                        }
                    });

                    $.validator.addMethod("pwcheck",
                        function(value, element) {
                            return /^[A-Za-z0-9\d=!\-@._*]+$/.test(value);
                    });
                });
                </script>

InformationsquelleAutor der Frage bayerphi | 2013-09-11

Schreibe einen Kommentar