ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の正規表現でアクセント付き文字を照合するにはどうすればよいですか?

JavaScript の正規表現でアクセント付き文字を照合するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 01:54:01121ブラウズ

How to Match Accented Characters in JavaScript Regular Expressions?

JavaScript 正規表現でのアクセント付き文字の照合

アクセント付き文字 (発音記号) を含む文字列を照合する場合、JavaScript では Unicode 処理に起因する課題が発生します。これに対処するアプローチは次のとおりです。

アクセント付き文字の明示的なリスト

この方法は、サポートされているすべてのアクセント付き文字を手動でリストする必要があるため、面倒で柔軟性に欠けます

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

ドット文字クラスの使用

ドット (.) クラスでは改行を除く任意の文字が許可されるため、このアプローチは ほとんどすべて に一致します:

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

Unicode 範囲

この方法では、Unicode 文字範囲を利用してアクセント付きラテン文字を照合します。

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

比較と推奨事項

Unicode 範囲を使用する 3 番目のアプローチは、推奨。これは、ユーザーのケースに関連するアクセントを持つすべてのラテン文字に一致し、不要な文字や過剰な一致を避けるためです。

Unicode アクセントのより簡単なソリューション

すべての Unicode に一致する場合アクセントを使用する場合は、次の簡略化された表現を使用することを検討してください:

[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 [ ] ^ \ × ÷

以上がJavaScript の正規表現でアクセント付き文字を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。