> 웹 프론트엔드 > JS 튜토리얼 > IE6 호환성을 포함하여 JavaScript의 문자열에서 악센트를 제거하는 방법은 무엇입니까?

IE6 호환성을 포함하여 JavaScript의 문자열에서 악센트를 제거하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-21 12:16:19
원래의
691명이 탐색했습니다.

How to Remove Accents from Strings in JavaScript, Including IE6 Compatibility?

JavaScript의 문자열에서 악센트/분음 부호 제거

이 문서에서는 JavaScript의 문자열에서 악센트나 발음 구별 부호를 제거하는 기술에 대해 자세히 설명합니다. IE6에서 정기적으로 직면한 문제

ES2015/ES6 String.prototype.normalize() 사용

ES2015/ES6에서는 String.prototype.normalize() 메서드를 도입하여 다음을 제거할 수 있습니다. 발음 구별 부호. 예:

const str = "Crème Brûlée";
const normalized = str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
console.log(normalized); // Output: "Creme Brulee"
로그인 후 복사

"NFD"는 결합된 자소를 간단한 문자소로 분해하여 발음 구별 부호 제거를 용이하게 하는 데 사용됩니다.

유니코드 속성 이스케이프 사용

또 다른 접근 방식은 유니코드 속성을 사용하는 것입니다. escapes:

const str = "Crème Brûlée";
const removed = str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
console.log(removed); // Output: "Creme Brulee"
로그인 후 복사

정렬 목적

목표가 단지 정렬인 경우 Intl.Collator를 활용할 수 있습니다.

const c = new Intl.Collator();
const arr = ["creme brulee", "crème brûlée", ...];
arr.sort(c.compare);
로그인 후 복사

IE6 고려사항

IE6의 경우, 정규 표현식은 문제가 될 수 있습니다. 이 문제를 해결하기 위한 간단한 접근 방식은 특정 악센트 문자를 해당하는 기본 문자로 수동으로 바꾸는 것입니다. 예를 들면 다음과 같습니다.

const accentsTidy = (str) => {
  return str
    .toLowerCase()
    .replace(/\s/g, "")
    .replace(/[àáâãäå]/g, "a")
    .replace(/æ/g, "ae")
    // ... and so on
    .replace(/\W/g, "");
};
로그인 후 복사

위 내용은 IE6 호환성을 포함하여 JavaScript의 문자열에서 악센트를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿