Source Code

Example code javascript convert Vietnamese To Slug

Free JavaScript code to convert Vietnamese strings to URL slugs. Easily remove Vietnamese accents (dấu), handle special characters like đ, and create clean, lowercase, hyphenated slugs perfect for SEO-friendly URLs on your website

Option 1:

function vietnameseToSlug(str) {
    if (!str) return '';
    
    str = str.toLowerCase().trim();
    
    str = str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
    
    str = str.replace(/đ/g, 'd').replace(/Đ/g, 'D');
    
    str = str.replace(/[^a-z0-9\s-]/g, ''); 
    str = str.replace(/\s+/g, '-');       
    str = str.replace(/-+/g, '-');        
    str = str.replace(/^-+|-+$/g, '');   
    
    return str;
}

console.log(vietnameseToSlug('Xin Chào Thế Giới! Đẹp Đẽ Việt Nam')); 
console.log(vietnameseToSlug('  Đây Là Tiêu Đề Có Dấu   '));

 Option 2:

function vietnameseToSlugClassic(str) {
    str = str.toLowerCase().trim();
    
    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\s-]/g, '');
    str = str.replace(/\s+/g, '-');
    str = str.replace(/-+/g, '-');
    str = str.replace(/^-+|-+$/g, '');
    
    return str;
}

Thanks for visit my website