Chuyển đổi chữ cái Unicode có dấu thành không dấu trong JavaScript

Hướng dẫn cách sử dụng JavaScript để chuyển đổi các chữ cái Unicode có dấu thành các chữ cái không dấu. Bao gồm mã nguồn và giải thích chi tiết từng bước.

Dưới đây là đoạn mã JavaScript để chuyển tất cả các chữ cái có dấu trong bảng chữ cái tiếng Việt thành các chữ cái không có dấu:

function removeVietnameseAccents(str) {
    return str.normalize('NFD')  // Tách chữ cái và dấu
              .replace(/[\u0300-\u036f]/g, '')  // Loại bỏ dấu
              .replace(/đ/g, 'd')  // Chuyển đ thành d
              .replace(/Đ/g, 'D');  // Chuyển Đ thành D
}

// Ví dụ sử dụng
const originalStr = "Chào bạn! Hôm nay trời rất đẹp. Đừng quên mang ô nhé.";
const resultStr = removeVietnameseAccents(originalStr);
console.log(resultStr);  // Output: "Chao ban! Hom nay troi rat dep. Dung quen mang o nhe."

Giải thích chi tiết:

  1. normalize('NFD'):

    • Phương thức normalize tách các ký tự và dấu ra (dạng NFD), ví dụ á sẽ được tách thành a và dấu '.
  2. replace(/[\u0300-\u036f]/g, ''):

    • Biểu thức chính quy này tìm và loại bỏ tất cả các dấu thanh trong khoảng Unicode từ \u0300 đến \u036f, bao gồm các dấu sắc, huyền, hỏi, ngã, nặng.
  3. replace(/đ/g, 'd'):

    • Chuyển đổi ký tự đ thành d.
  4. replace(/Đ/g, 'D'):

    • Chuyển đổi ký tự Đ thành D.
  5. const resultStr = removeVietnameseAccents(originalStr);:

    • Gọi hàm để chuyển đổi chuỗi tiếng Việt có dấu thành không dấu.
  6. console.log(resultStr);:

    • In chuỗi đã được chuyển đổi ra console.

Phiên bản JavaScript:

Đoạn mã trên tương thích với các phiên bản JavaScript hiện đại (ES6 trở lên). Phương thức normalize được hỗ trợ bởi các trình duyệt hiện đại, bao gồm Chrome, Firefox, Edge, và Safari.



Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Cách chuyển đổi tên màu thành mã Hex trong JavaScript

Hướng dẫn cách chuyển đổi tên màu (ví dụ: "red", "blue") thành mã màu Hex (#RRGGBB) bằng cách sử dụng JavaScript. Phương pháp này giúp dễ dàng thao tác với màu sắc trong lập trình web.
Cách thêm mã HTML vào div bằng appendChild trong JavaScript

Hướng dẫn cách sử dụng `appendChild` để thêm mã HTML vào một phần tử `div` trong JavaScript. Cách tiếp cận này giúp đảm bảo tính toàn vẹn của DOM và dễ dàng thêm các phần tử HTML động.
Thêm mã HTML vào div bằng innerHTML trong JavaScript

Bài viết này hướng dẫn cách thêm mã HTML vào một phần tử `div` bằng thuộc tính `innerHTML` trong JavaScript. Người đọc sẽ học cách thao tác với DOM để thêm nội dung HTML mới vào một phần tử `div` cụ thể.
Cách truyền mảng làm tham số hàm trong JavaScript bằng phương thức call()

Hướng dẫn cách truyền một mảng làm tham số cho hàm trong JavaScript sử dụng phương thức `call()`. Bài viết sẽ giới thiệu cách sử dụng phương thức `call()` để thay đổi ngữ cảnh và truyền tham số từ mảng.
Gửi dữ liệu JSON bằng phương thức POST đến API trong JavaScript

Hướng dẫn cách gửi dữ liệu JSON đến một API bằng phương thức POST trong JavaScript. Đoạn mã sử dụng phương thức fetch để thực hiện yêu cầu POST và bao gồm giải thích chi tiết từng bước.
Cách truyền mảng làm tham số hàm trong JavaScript bằng cú pháp spread

Hướng dẫn cách sử dụng cú pháp spread (`...`) để truyền mảng vào một hàm trong JavaScript. Bài viết sẽ chỉ ra cách truyền từng phần tử của mảng như là các tham số riêng lẻ của hàm.
Lấy nội dung JSON từ API URL bằng JavaScript

Cách lấy nội dung JSON từ API URL bằng JavaScript. Bao gồm mã nguồn chi tiết và giải thích từng dòng để giúp bạn hiểu cách sử dụng Fetch API để thực hiện yêu cầu GET và xử lý dữ liệu JSON.
Truyền tham số vào phương thức setTimeout() trong JavaScript bằng phương thức bind()

Hướng dẫn cách truyền tham số vào phương thức `setTimeout()` bằng cách sử dụng phương thức `bind()` trong JavaScript. Phương pháp này cho phép chúng ta kiểm soát tham số được truyền vào hàm được gọi sau khoảng thời gian trì hoãn.
Cách truyền tham số vào phương thức setTimeout() trong JavaScript bằng Arrow Function

Hướng dẫn cách sử dụng `setTimeout()` trong JavaScript với Arrow Function để truyền tham số vào hàm. Phương thức này hữu ích khi bạn cần trì hoãn việc thực thi hàm và muốn truyền tham số vào đó.
Chương trình JavaScript truyền tham số vào phương thức setTimeout() sử dụng Anonymous Function

Hướng dẫn cách sử dụng phương thức `setTimeout()` để truyền tham số trong JavaScript bằng cách sử dụng hàm ẩn danh. Cách tiếp cận này giúp lập trình viên trì hoãn việc thực thi mã với các tham số được truyền vào hàm.

Đã thêm vào giỏ hàng