agte-omni-tools
Version:
Conjunto de herramientas para todo propósito
19 lines (15 loc) • 734 B
JavaScript
/**
* Limpia el texto proporcionado eliminando caracteres especiales, convirtiendo a minúsculas, reemplazando espacios por guiones bajos y normalizando caracteres acentuados y la ñ.
* @param {string} text - El texto a limpiar.
* @returns {string} - El texto limpio.
*/
export function getCleanedString (text) {
if (typeof text !== 'string') return ''
const specialChars = '!@#$^&%*()+=-[]/{}|:<>?,.'
let cleanedText = text.normalize('NFD').replace(/[\u0300-\u036f]/g, '') // Elimina acentos usando Unicode.
cleanedText = specialChars.split('').reduce((acc, char) => acc.replace(new RegExp(`\\${char}`, 'g'), ''), cleanedText)
return cleanedText
.toLowerCase()
.replace(/ /g, '_')
.replace(/ñ/g, 'n')
}