Vor JavaScript 1.5: ^[a-zA-Z_$][0-9a-zA-Z_$]*$
Auf Englisch: Er muss mit einem Dollarzeichen, einem Unterstrich oder einem der Buchstaben des 26-stelligen Alphabets in Groß- oder Kleinschreibung beginnen. Nachfolgende Zeichen (falls vorhanden) können eines dieser Zeichen oder eine Dezimalziffer sein.
JavaScript 1.5 und höher * : ^[\p{L}\p{Nl}$_][\p{L}\p{Nl}$\p{Mn}\p{Mc}\p{Nd}\p{Pc}]*$
Dies ist im Englischen schwieriger auszudrücken, aber es ist konzeptionell ähnlich wie die ältere Syntax mit dem Zusatz, dass die Buchstaben und Ziffern aus jeder Sprache stammen können. Nach dem ersten Zeichen sind auch zusätzliche unterstrichähnliche Zeichen (zusammenfassend als "Konnektoren" bezeichnet) und zusätzliche Kombinationszeichen ("Modifikatoren") zulässig. (Andere Währungssymbole sind in diesem erweiterten Satz nicht enthalten).
Ab JavaScript 1.5 sind auch Unicode-Escape-Sequenzen möglich, vorausgesetzt, dass ist das Ergebnis ein Zeichen, das im obigen regulären Ausdruck zulässig wäre.
Die Bezeichner dürfen auch kein aktuelles reserviertes Wort sein oder eines, das für eine zukünftige Verwendung in Betracht gezogen wird.
Es gibt keine praktische Begrenzung für die Länge eines Bezeichners. (Die Browser variieren, aber Sie werden sicher 1000 Zeichen und wahrscheinlich noch einige Größenordnungen mehr haben).
Links zu den Zeichenkategorien:
- Briefe: Lu , Ll , Leutnant , Lm , Lo , Nl
(in der obigen Regex als "L" kombiniert)
- Kombinationszeichen ("Modifikatoren"): Mn , Mc
- Ziffern: Nd
- Verbinder: Pc
* n.b. Diese Perl-Regex soll nur die Syntax beschreiben - sie wird nicht in JavaScript funktionieren, das (noch) keine Unterstützung für Unicode-Eigenschaften bietet. (Es gibt einige Pakete von Drittanbietern, die behaupten, eine solche Unterstützung hinzuzufügen.)
19 Stimmen
Wenn Sie nur nach alternativen Symbolen suchen, ist das griechische Alphabet gültig (z. B, )... oder wenn Sie Ihre anderen Entwickler wirklich durcheinander bringen wollen, könnten Sie das englische Alphabet verwenden, aber in einer anderen Schriftart (z.B., ) ...auch gültig!