cagartner
1/21/2016 - 11:05 AM

VueJS filter slugable for friendly urls | Vuejs filtro para url amigáveis

VueJS filter slugable for friendly urls | Vuejs filtro para url amigáveis

Vue.filter('slugable', function(value) {
	value = value.toLowerCase();
    // faz as substituições dos acentos
    value = value.replace(/[á|ã|â|à]/gi, "a");
    value = value.replace(/[é|ê|è]/gi, "e");
    value = value.replace(/[í|ì|î]/gi, "i");
    value = value.replace(/[õ|ò|ó|ô]/gi, "o");
    value = value.replace(/[ú|ù|û]/gi, "u");
    value = value.replace(/[ç]/gi, "c");
    value = value.replace(/[ñ]/gi, "n");
    value = value.replace(/[á|ã|â]/gi, "a");
    // faz a substituição dos espaços e outros caracteres por - (hífen)
    value = value.replace(/\W/gi, "-");
    // remove - (hífen) duplicados
    value = value.replace(/(\-)\1+/gi, "-");
    return value;
});