non Accent Vietnamese

Chuyển đổi tiếng Việt có dấu sang không dấu.

non Accent Vietnamese
export default function nonAccentVietnamese(str: string) {
  str = str.toLowerCase();
 
  str = str.replace(|á|||ã|â||||||ă|||||ẵ/g, "a");
  str = str.replace(|é||||ê||ế|||ễ/g, "e");
  str = str.replace(|í|||ĩ/g, "i");
  str = str.replace(|ó|||õ|ô||||||ơ|||||ỡ/g, "o");
  str = str.replace(|ú|||ũ|ư|||||ữ/g, "u");
  str = str.replace(/ỳ|ý|||ỹ/g, "y");
  str = str.replace(/đ/g, "d");
 
  str = str.replace(|Á|||Ã|Â||||||Ă|||||Ẵ/g, 'A')
  str = str.replace(|É||||Ê|||||Ễ/g, 'E')
  str = str.replace(|Í|||Ĩ/g, 'I')
  str = str.replace(|Ó|||Õ|Ô||||||Ơ|||||Ỡ/g, 'O')
  str = str.replace(|Ú|||Ũ|Ư|||||Ữ/g, 'U')
  str = str.replace(/Ỳ|Ý|||Ỹ/g, 'Y')
  str = str.replace(/Đ/g, 'D')
 
  str = str.replace(/\u0300|\u0301|\u0303|\u0309|\u0323/g, ""); // Huyền sắc hỏi ngã nặng 
  str = str.replace(/\u02C6|\u0306|\u031B/g, ""); // Â, Ê, Ă, Ơ, Ư
 
  // Loại bỏ các ký tự đặc biệt
  // str = str.replace(/[^a-zA-Z0-9 \s]/g, "")
 
  return str;
}
 
console.log(nonAccentVietnamese('Phan Nhật Chánh')) // => "Phan Nhat Chanh"