當匹配包含重音字元(變音符號)的字串時,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]+$/
比較和建議
比較和建議
[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 [ ] ^ \ × ÷比較和建議比較和建議推薦,因為它匹配所有帶有與用戶情況相關的重音的拉丁字符,並避免不必要的字符或過度匹配。 Unicode 重音的更簡單解決方案用於匹配所有 Unicode重音,請考慮使用這個簡化的表達式:
以上是如何匹配 JavaScript 正規表示式中的重音字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!