2009-10-20 17 views
9

hay muchos scripts para recortar una cadena en javascript, pero ninguno como Left Trim String.Ajuste izquierdo en Javascript

Esto es lo que yo uso para recortar:

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

Pero me gustaría cambiar esto un poco y crear una nueva función llamada leftTrim que sólo elimina el espacio inicial. Mi expresión regular es bastante limitada, por lo que cualquier ayuda es muy apreciada.

Saludos

Respuesta

19

Uso:

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

En la expresión regular las:

  • ^significa "desde el comienzo de la cadena"
  • \ s significa clase de caracteres de espacio en blanco
  • + significa uno o más (codiciosos)

así que ....

  • ^\ s + significa "uno o más espacios en blanco consecutivos desde el inicio de la clase"

Nota: La bandera g al final de su Regex es innecesario ya que los anclajes (^ y $) definen explícitamente lo que coincidirá. No puede haber múltiples coincidencias.

Ver https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp para obtener detalles sobre la sintaxis de expresiones regulares en javascript

+1

Nota: El modificador/g (global) no es necesario y puede hacerlo un poco menos eficiente. – Jesper

+0

¿Qué es 'g' BTW? Te perdiste eso. –

+0

gracias Jesper, ya estaba en el proceso de editarlo cuando escribiste eso. @Vinegar, 'g' significa' coincidencia global' y se usa para buscar coincidencias múltiples –

1
String.prototype.leftTrim = function() { 
     return this.replace(/^\s+/,""); 
} 
3

yo ya he respondido hace a similar question tan sólo unos minutos, pero aquí está mi solución a su pregunta.

String.prototype.trimLeft = String.prototype.trimLeft || function() { 
    var start = -1; 

    while(this.charCodeAt(++start) < 33); 

    return this.slice(start, this.length); 
}; 

La solución anterior se basa en Ariel Flesler fast trim function y el hecho de que Firefox 3.5 o superior tiene incorporado un trimLeft método en el objeto String.

Cuestiones relacionadas