바닐라 Javascript를 사용하여 문자열에서 악센트 표시를 제거하는 방법

I n JS는 예를 들어 str.replace를 사용하여 문자를 교체하기가 매우 쉽지만 악센트 표시를 제거하려는 경우 어떻게 됩니까?

저는 스페인어 원어민이므로 스페인어 단어를 처리해야 하는 경우 도움이 될 수 있습니다.

이 작은 게시물은 스페인어 문장 문자열에서 민달팽이를 만드는 방법에 대한 예제를 작성합니다.

코드




// Input example
const spanishSentences = [
  "teléfono",
  "árbol",
  "colibrí",
  "cómpramelo",
  "Mandó una carta",
  "Qué grande es ese perro"
];

// Function definition
function createSlug(input){
  return input
    .toLowerCase()
    .trim()
    .replace(/[\s_-]+/g, "-")
    .replace(/^-+|-+$/g, "")
    .normalize("NFD")
    .replace(/[\u0300-\u036f]/g, "");
}

// Usage
const output = spanishSentences.map(createSlug);
console.log(output);
// Output:
/*
[
  "telefono", 
  "arbol", 
  "colibri", 
  "compramelo", 
  "mando-una-carta", 
  "que-grande-es-ese-perro"
]
*/


여기에서 테스트할 수 있습니다JS Bin.

그리고 그게 다야, 행복한 코딩!

좋은 웹페이지 즐겨찾기