Javascript regexp - nur, wenn erste Zeichen ist nicht ein Sternchen
Ich bin mit einem javascript-validator, lassen Sie mich bauen benutzerdefinierte Validierung basiert auf regexp
Ihre website: regexp=^[A-Za-z]{1,20}$
erlauben Sie bis zu 20 alphanumerischen Zeichen.
Dieser gibt einen Fehler zurück, wenn die eingegebenen Daten im Eingabefeld ist außerhalb dieses Bereichs.
Was ich brauche ist der string, der einen Fehler auslöst, für das inputfield, wenn der Wert einen Stern als erstes Zeichen.
Kann ich es lösen das Gegenteil (ein Fehler, wenn das erste Zeichen NICHT ein asterix) mit:
regexp=[\u002A]
Heeeeelp bitte 😀
InformationsquelleAutor Splynx | 2011-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa:
Passt jede Eingabe, die nicht nicht starten mit einem Sternchen; wie aus dem Beispiel regex, jede Eingabe, die nicht mit der regex wird Ursache ein Fehler bei der überprüfung, so dass die doppelte Verneinung sollte man das Verhalten, das Sie wollen 🙂
Erklärung meiner regex:
^
bedeutet "am Anfang der Zeichenfolge"[
...]
Konstrukt ist ein Charakter-Klasse, die einem Einzelzeichen entspricht unter diejenigen eingeschlossen, die innerhalb der Klammern^
am Anfang der Zeichenklasse bedeutet "negieren die Charakter-Klasse", d.h. eine übereinstimmung mit jedem Zeichen, das nicht eines der oben aufgeführten\*
bedeutet eine wörtliche*
;*
hat eine Besondere Bedeutung in regulären Ausdrücken, daher hab ich entkam es mit einem backslash. Als Rob hat darauf hingewiesen, in den Kommentaren, es ist nicht unbedingt notwendig, um zu entkommen (die meisten) spezielle Zeichen innerhalb einer ZeichenklasseSie brauchen nicht zu entkommen * in der []
Du hast wahrscheinlich Recht. Ich habe festgestellt, dass es von der Plattform abhängig, aber ich hatte noch nie irgendwelche Probleme explizit die Flucht mit einem backslash
Kein problem 😉 By the way, wenn Sie es brauchen, um eine leere Eingabe als gültig zu, die Sie verwenden können:
^(?:[^\*]|$)
Danke für die Erklärung der regex!
InformationsquelleAutor Cameron
Wie etwa
^[^\*].+
.Aufgeschlüsselt:
^
= Anfang der Zeichenkette.[^\*]
= ein beliebiges Zeichen, außer '*'..+
= alle anderen Zeichen mindestens einmal.InformationsquelleAutor DuckMaestro
Können Sie umkehren Charakter-Klasse ^ nach [
regexp=[^\u002A]
InformationsquelleAutor Kamil Szot