RegEx in jQuery Validator addMethod
Ich brauche ein paar RegEx für mein jQuery-validator von benutzerdefinierten Methoden. Das erste was ich dachte war einfach sein würde, war nur die Beschränkung eines Benutzernamen, um UNS nur auf die Buchstaben, zahlen und keine Sonderzeichen. Ich kam mit ^[a-zA-Z0-9]+$
aber es scheint nicht zu funktionieren. Vielleicht ist es wegen der Art, wie es erscheint in der Funktion:
$.validator.addMethod(
"legalName",
function(value, element) {
return (element.value != "^[a-zA-Z0-9]+$");
},
"Use a valid username."
);
Die zweite ist die überprüfung des Kennworts, das im wesentlichen die gleichen Einschränkungen auf, darüber hinaus erforderliche Anzahl von bestimmten Zeichen, wie Großbuchstaben, Anzahl, ect. Ich vermute, sobald ich den Benutzernamen RegEx unten das Passwort nicht zu hart sein, ist nur eine Frage des Einbaus in {1}
's und Z in den Ausdruck.
Den letzten Teil meiner Frage ist, wie füge ich eine zweite Methode ("legalPassword") im inneren des original - .addMethod
oder brauche ich eine erstellen, die eine ganz andere $.validator.addMethod
?
$(document).ready(function() {
$("#form1").validate({
rules: {
username: {
legalName: true,
required: true,
maxlength: 35
}
},
});
});
und die Tabelle code:
<form id="form1" method="post" action="">
<div class="form-row"><span class="label">Username *</span><input type="text" name="username" /></div>
<div class="form-row"><input class="submit" type="submit" value="Submit"></div>
</form>
Neuen code (noch nicht):
$.validator.addMethod(
"legalName",
function(value, element) {
/^[a-zA-Z0-9]+$/.test( value );
},
"Use a valid username."
);
- Sie sollten nie setzen Sie ALLE Beschränkungen für Passwörter (außer eine minimale Länge, mehrere Arten von Zeichen, etc)! Wie Sie (hoffentlich) bei der Speicherung als hash-es gibt keinen guten Grund, dies zu tun sowieso.
- Ich bin nicht alles einzulagern, einfach für Demonstrationszwecke und wird nicht einmal überprüft werden, für eine Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
return this.optional(element) || /^[a-zA-Z0-9]+$/.test( value );
Versuchen Sie es mit den Regex.test-Funktion statt, um den check gegen Ihren string.
Siehe hier für mehr info: http://www.javascriptkit.com/javatutors/redev3.shtml
return (element.value != "^[a-zA-Z0-9]+$");
mit/^[a-zA-Z0-9]+$/.test( element.value );
aber jetzt ist es false zurückgeben, auf die Legale und nonlegal Benutzernamen.return this.optional(element) || /^[a-zA-Z0-9]+$/.test( value );
Wenn Sie wollen, ändern Sie Ihre original-Beitrag werde ich markieren Sie es als Antwort, da Sie mir geholfen, zu diesem Punkt und jede änderung brachte ihn näher. Danke!Versuchen Regex Maske Plugin
Durchsuchen Sie den folgenden link
regexMask()