Hàm chuyển tiêu đề tiếng việt thành URL bằng java script
Bạn có thể sửa hàm convertToSlug như sau để loại bỏ các ký tự tiếng Việt có dấu, chỉ giữ lại các ký tự 0-9, a-z và dấu -:
function convertToSlug(text) { var str = text; 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(/[^a-z0-9\-]/g, "-"); // Loại bỏ các ký tự không phải là a-z, 0-9, hoặc dấu - str = str.replace(/-+/g, "-"); // Thay thế các dấu gạch nối liên tiếp thành một dấu "-" str = str.replace(/^\-+|\-+$/g, ""); // Loại bỏ dấu gạch nối ở đầu và cuối chuỗi return str; }
Điều này sẽ:
Loại bỏ tất cả các ký tự không phải là chữ cái, số hoặc dấu gạch nối (
-).Giữ lại các ký tự từ a-z (chữ thường), 0-9 và dấu gạch nối.
Xử lý các dấu trong tiếng Việt để chuyển thành chữ không dấu.
Bài liên quan trong # JavaScript
-
Cách tạo thông báo (notification) từ trình duyệt
minhdev -
Hàm javascript show thời gian hiện tại và có đếm giây
minhu -
Ứng dụng ESLint để phát hiện lỗi và tối ưu hoá source code JavaScript trên VS
minhdev -
Hàm javascript load số tăng dần đẹp mắt như google analytics
minhu -
viết hàm java load kéo xuống đến đâu mới thực hiện hàm js load trang
minhu · 💬 1