¿Cuál es una implementación limpia y eficiente de JavaScript para eliminar los espacios iniciales y finales de una cadena?
Por ejemplo:
" perro"
"perro"
"perro "
"perro "
se convierten en
"perro"
Usa esto:
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
La función de recorte estará ahora disponible como una función de primera clase en sus cadenas. Por ejemplo:
" dog".trim() === "dog" //true
EDIT: Tomó J-P's sugerencia de combinar los patrones regex en uno. También añadió el modificador global por Christoph's sugerencia.
He tomado la idea de Matthew Crumley'de olfatear la función de recorte antes de recrearla. Esto se hace en caso de que la versión de JavaScript utilizada en el cliente sea más reciente y, por lo tanto, tenga su propia función de recorte nativa.
Steven Levithan escribió una vez sobre cómo implementar un Recorte JavaScript más rápido. Definitivamente vale la pena echarle un vistazo.