Heim >Web-Frontend >js-Tutorial >Wie füge ich einen Bindestrich ordnungsgemäß in einen Regex-Zeichensatz ein?

Wie füge ich einen Bindestrich ordnungsgemäß in einen Regex-Zeichensatz ein?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 05:58:13712Durchsuche

How Do I Properly Include a Hyphen in a Regex Character Set?

Einschließen eines Bindestrichs in eine Regex-Zeichenklammer

Beim Erstellen regulärer Ausdrücke, die Zeichenklammern enthalten, ist es wichtig zu berücksichtigen, wie Sonderzeichen, z als Bindestriche (-) behandelt werden. Im Kontext der in der Eingabeaufforderung gezeigten jQuery-Validierungsmethode:

$.validator.addMethod('AZ09_', function (value) {
    return /^[a-zA-Z0-9.-_]+$/.test(value);
}, 'Only letters, numbers, and _-. are allowed');

Ziel ist es, Unterstriche (-) und Bindestriche (-) zuzulassen. Wenn Sie den Code jedoch so verwenden, wie er ist, können Probleme wie die Ungültigmachung von Zeichenfolgen auftreten, die Bindestriche enthalten.

Um dieses Problem zu beheben, wird empfohlen, den Bindestrich mit einem Backslash () zu maskieren. Dadurch wird sichergestellt, dass der reguläre Ausdruck den Bindestrich genau als gültiges Zeichen innerhalb der Zeichenklammer erkennt:

/^[a-zA-Z0-9._-]+$/

Durch das Maskieren des Bindestrichs geben wir an, dass er als Literalzeichen und nicht als Sonderzeichen behandelt werden soll. Alternativ können Sie auch versuchen, die Zeichenklasse in eckige Klammern ([]) einzuschließen:

[a-zA-Z0-9._-]

Dies funktioniert auch effektiv, indem Bindestriche als gültige Zeichen innerhalb der Klammer zugelassen werden.

Das obige ist der detaillierte Inhalt vonWie füge ich einen Bindestrich ordnungsgemäß in einen Regex-Zeichensatz ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn