2010-12-05 12 views
0

Für Text-Validierung für Zeichen verwende ich wie [a-zA-z] und für Zahlen wie [0-9] ..wenn ich spezielle Symbole hinzufügen muss ich Schrägstrich wie [a-zA-z/-/] hinzufügen.Javascript Validierung

Mit vielen Symbolen wird es immer schwieriger und mein Javascript wird extrem groß. Gibt es einen einfachen Weg, es zu tun?

Grüße A.Collins

+3

Beachten Sie, dass '[Az]' entspricht '[ AZ [\\\\]^_ \ 'az]' so enthält es nicht nur 'A'-' Z', sondern auch 'a'-'z' und die Zeichen' '' \ '' ' ','^',' _ 'und' \ '', die zwischen 'Z' und' a' liegen. – Gumbo

Antwort

1

Sie können einen Blick auf this Spickzettel werfen. zum Beispiel kann [0-9] auf \d reduziert werden.

+0

du meinst '\ d' .. –

+0

Ja, tut mir leid mein schlechtes. – npinti

+0

Danke npinti. Es ist sehr hilfreich –

0

Für den allgemeinen Fall von "vielen Zeichen" - nein.

0

Das ist nicht der richtige Weg, um Zeichen zu entkommen. \ ist die richtige Escape-Zeichen verwendet werden:

[a-zA-Z\/] 

Sie Zeichenklassen verwenden können, [a-zA-Z0-9] kann durch [\w] ersetzt werden. Die einzigen Zeichen, die maskiert werden müssen, sind \ und -. ^ sollte auch maskiert werden, wenn es das erste Zeichen in der Zeichenklasse ist.

+0

Er fügt seiner Charakterklasse einen Schrägstrich hinzu, keinen Bindestrich. – Gareth

+0

Korrigiert, danke. – Lekensteyn

+1

In diesem Fall gibt es zwei Gründe, warum der Bindestrich nicht maskiert werden muss. Es kann nicht als Teil eines Zeichenbereichs interpretiert werden, weil (1) das vorherige Zeichen bereits Teil eines Zeichenbereichs ist; (2) Es ist am Ende der Zeichenklasse. – Gumbo

0
  • \w für alphanumerische Zeichen und unterstreicht
  • \d für Ziffern
  • \s für Leerzeichen

Sie können sie mischen, in Sachen resultierenden wie zum Beispiel [\d.] (für Zahlen & Punkte passend) .

0

In einer Zeichenklasse bedeutet x-y "alle Zeichen zwischen x und y". Wenn Sie nur einen zusätzlichen Charakter haben, in Ihrem Fall / dann brauchen Sie nicht das x-y Format zu verwenden, können Sie einfach in den Charakter fallen:

[a-zA-z/]