Heim >Web-Frontend >js-Tutorial >Wie werden Akzentzeichen in regulären JavaScript-Ausdrücken abgeglichen?

Wie werden Akzentzeichen in regulären JavaScript-Ausdrücken abgeglichen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 01:54:01218Durchsuche

How to Match Accented Characters in JavaScript Regular Expressions?

Akzentzeichen in regulären JavaScript-Ausdrücken abgleichen

Beim Abgleichen von Zeichenfolgen mit Akzentzeichen (diakritischen Zeichen) stellt JavaScript aufgrund seiner Unicode-Verarbeitung Herausforderungen dar. Hier sind Ansätze, um dieses Problem zu beheben:

Explizite Auflistung von Zeichen mit Akzent

Diese Methode ist umständlich und unflexibel, da sie eine manuelle Auflistung aller unterstützten Zeichen mit Akzent erfordert:

var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ";
var regex = "^[a-zA-Z" + accentedCharacters + "]+,\s[a-zA-Z" + accentedCharacters + "]+$";

Verwendung der Punktzeichenklasse

Dieser Ansatz passt zu fast allem, da die Punktklasse (.) jedes Zeichen außer Zeilenumbrüchen zulässt:

var regex = /^.+,\s.+$/;

Unicode-Bereich

Diese Methode verwendet einen Unicode-Zeichenbereich, um akzentuierte lateinische Zeichen abzugleichen:

/^[a-zA-Z\u00C0-\u017F]+,\s[a-zA-Z\u00C0-\u017F]+$/

Vergleich und Empfehlung

Der dritte Ansatz, der den Unicode-Bereich verwendet, ist empfohlen, da es alle lateinischen Zeichen mit Akzenten abgleicht, die für den Benutzerfall relevant sind, und unnötige Zeichen oder übermäßige Übereinstimmungen vermeidet.

Eine einfachere Lösung für Unicode-Akzente

Zur Übereinstimmung aller Unicodes Wenn Sie Akzente setzen möchten, sollten Sie diesen vereinfachten Ausdruck verwenden:

[A-zÀ-ú] // accepts lowercase and uppercase characters
[A-zÀ-ÿ] // as above, including letters with an umlaut (includes [ ] ^ \ × ÷)
[A-Za-zÀ-ÿ] // as above but not including [ ] ^ \
[A-Za-zÀ-ÖØ-öø-ÿ] // as above, but not including [ ] ^ \ × ÷

Das obige ist der detaillierte Inhalt vonWie werden Akzentzeichen in regulären JavaScript-Ausdrücken abgeglichen?. 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