Cách 1: Chay
function removeAccents(str) {
var AccentsMap = [
"aàảãáạăằẳẵắặâầẩẫấậ",
"AÀẢÃÁẠĂẰẲẴẮẶÂẦẨẪẤẬ",
"dđ", "DĐ",
"eèẻẽéẹêềểễếệ",
"EÈẺẼÉẸÊỀỂỄẾỆ",
"iìỉĩíị",
"IÌỈĨÍỊ",
"oòỏõóọôồổỗốộơờởỡớợ",
"OÒỎÕÓỌÔỒỔỖỐỘƠỜỞỠỚỢ",
"uùủũúụưừửữứự",
"UÙỦŨÚỤƯỪỬỮỨỰ",
"yỳỷỹýỵ",
"YỲỶỸÝỴ"
];
for (var i=0; i<AccentsMap.length; i++) {
var re = new RegExp('[' + AccentsMap[i].substr(1) + ']', 'g');
var char = AccentsMap[i][0];
str = str.replace(re, char);
}
return str;
}
Cách 2: Sử dụng normalize
function removeAccents(str) {
return str.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/đ/g, 'd').replace(/Đ/g, 'D');
}