Điều này phù hợp với tôi!
Chỉ cần thay thế các nguyên âm bằng một regex có chứa các nguyên âm trọng âm. Ngoài ra, có thể sử dụng $options: 'i'
để tránh phân biệt chữ hoa chữ thường.
function diacriticSensitiveRegex(string = '') {
return string.replace(/a/g, '[a,á,à,ä]')
.replace(/e/g, '[e,é,ë]')
.replace(/i/g, '[i,í,ï]')
.replace(/o/g, '[o,ó,ö,ò]')
.replace(/u/g, '[u,ü,ú,ù]');
}
find ({ name: { $regex: diacriticSensitiveRegex('pala'), $options: 'i' } });