アクセント付き文字 (発音記号) を含む文字列を照合する場合、JavaScript では Unicode 処理に起因する課題が発生します。これに対処するアプローチは次のとおりです。
この方法は、サポートされているすべてのアクセント付き文字を手動でリストする必要があるため、面倒で柔軟性に欠けます。
var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ"; var regex = "^[a-zA-Z" + accentedCharacters + "]+,\s[a-zA-Z" + accentedCharacters + "]+$";
ドット (.) クラスでは改行を除く任意の文字が許可されるため、このアプローチは ほとんどすべて に一致します:
var regex = /^.+,\s.+$/;
この方法では、Unicode 文字範囲を利用してアクセント付きラテン文字を照合します。
/^[a-zA-Z\u00C0-\u017F]+,\s[a-zA-Z\u00C0-\u017F]+$/
Unicode 範囲を使用する 3 番目のアプローチは、推奨。これは、ユーザーのケースに関連するアクセントを持つすべてのラテン文字に一致し、不要な文字や過剰な一致を避けるためです。
すべての 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 サイトの他の関連記事を参照してください。