995 votos

¿Cómo puedo recortar una cadena en JavaScript?

¿Cómo puedo recortar una cadena en JavaScript?

740voto

Pradeep Kumar Mishra Puntos 6870

A ver este:

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+$/,'');};

String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');};

Ya que los nuevos Navegadores (IE9+) tiene trim() ya aplicado, sólo debe implementar trim() si no está ya disponible en el Prototipo-(Objeto primordial es un enorme impacto en el rendimiento). Esto se recomienda en general a la hora de ampliar los Objetos Nativos! Tenga en cuenta que la propiedad agregada es enumerable a menos que se utilice ES5 Object.defineProperty!

if (!String.prototype.trim) {
   //code for trim
}

421voto

barneytron Puntos 5666

El recorte de jQuery es conveniente si usted ya está usando ese marco.

$.trim('  your string   ');

Yo tiendo a usar jQuery con frecuencia, por lo que el recorte de las cadenas con que es natural para mí. Pero es posible que no hay reacción en contra de jQuery? :)

143voto

scunliffe Puntos 30964

Aunque hay un montón de respuestas correctas anterior, cabe señalar que el String objeto en JavaScript tiene un nativas .trim() método de ECMAScript 5. Por lo tanto, idealmente, cualquier intento de prototipo el método trim realmente debe comprobar para ver si ya existe en primer lugar.

if(!String.prototype.trim){  
  String.prototype.trim = function(){  
    return this.replace(/^\s+|\s+$/g,'');  
  };  
}

Añadido de forma nativa en: JavaScript 1.8.1 / ECMAScript 5

Por lo tanto compatible con:

Firefox: 3.5+

Safari: 5+

Internet Explorer: IE9+ (en modo estándar solamente!) http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more.aspx

Chrome: 5+

Ópera: 10.5+

ECMAScript 5 Mesa de Apoyo: http://kangax.github.com/es5-compat-table/

117voto

Gumbo Puntos 279147

Hay una gran cantidad de implementaciones que se pueden utilizar. La más obvia parece ser algo como esto:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
};

" foo bar ".trim();  // "foo bar"

41voto

Mark Davidson Puntos 2729

Versión Simple aquí Lo que es una función general para JavaScript recorte?

function trim(str) {
        return str.replace(/^\s+|\s+$/g,"");
}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X