악센트 문자(분음부호)가 포함된 문자열을 일치시킬 때 JavaScript는 유니코드 처리로 인해 문제가 발생합니다. 이 문제를 해결하는 방법은 다음과 같습니다.
이 방법은 지원되는 모든 악센트 문자를 수동으로 나열해야 하므로 번거롭고 유연성이 없습니다.
var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ"; var regex = "^[a-zA-Z" + accentedCharacters + "]+,\s[a-zA-Z" + accentedCharacters + "]+$";
점(.) 클래스는 개행 문자를 제외한 모든 문자를 허용하므로 이 접근 방식은 거의 모든 항목과 일치합니다.
var regex = /^.+,\s.+$/;
이 방법은 유니코드 문자 범위를 활용하여 악센트가 있는 라틴 문자를 일치시킵니다.
/^[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 [ ] ^ \ × ÷
위 내용은 JavaScript 정규식에서 악센트 문자를 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!