Trim es una Funcion y/o Metodo muy conocido en distintos lenguajes de programacion, esta funcion realiza el corte de espacios en blanco de los extremos de una cadena,esta funcion extiende tambien a ltrim(left trim) y rtrim(right trim). En Javascript no vienen incorporado, es por eso que veremos la manera de implementarlo, una forma es como un metodo para los tipo String y la otra es como una simple funcion(stand-alone).
Javascript Trim como metodos
String.prototype.trim = function() { return this.replace(/^s+|s+$/g,""); } String.prototype.ltrim = function() { return this.replace(/^s+/,""); } String.prototype.rtrim = function() { return this.replace(/s+$/,""); } // ejemplo trim, ltrim y rtrim var cad = " Metodo trim(),ltrim(),rtrim() "; alert("*" + cad.trim() + "*"); alert("*" + cad.ltrim() + "*"); alert("*" + cad.rtrim() + "*");
Javascript Trim como funciones Stand-Alone
function trim(cad) { return cad.replace(/^s+|s+$/g,""); } function ltrim(cad) { return cad.replace(/^s+/,""); } function rtrim(cad) { return cad.replace(/s+$/,""); } // ejemplo trim, ltrim y rtrim var cad = " funciones trim,ltrim,rtrim "; alert("*" + trim(cad) + "*"); alert("*" + ltrim(cad) + "*"); alert("*" + rtrim(cad) + "*");
Compatibilidad
Las funciones anteriormente explicadas hacen el uso de expresiones regulares, que son compatibles con JavaScript 1.2 + o JScript 3.0 +. Si se requiere funciones para versiones antiguas de Javascript 1.0, aqui dejo las funciones compatibles para antiguas versiones.
function ltrim(str) { var k = 0; for(k = 0; k < str.length && isSpace(str.charAt(k)); k++); return str.substring(k, str.length); } function rtrim(str) { var j=str.length-1 for(j=str.length-1; j>=0 && isSpace(str.charAt(j)) ; j--) ; return str.substring(0,j+1); } function trim(str) { return ltrim(rtrim(str)); } function isSpace(charToCheck) { var whitespaceChars = " tnrf"; return (whitespaceChars.indexOf(charToCheck) != -1); }
[…] mi post anterior escribí sobre como se podían extender los metodos para el objeto String (trim,ltrim,rtrim), […]