Apagar o primeiro caractere de uma string em Javascript

Eu quero apagar o primeiro caractere de uma string, se o primeiro caractere for um 0. O 0 pode estar lá mais de uma vez.

Existe uma função simples que verifica o primeiro caractere e o apaga se for 0?

Neste momento, I'estou tentando com a função JS slice(), mas é muito embaraçoso.

Utilize .charAt() e .slice().

Exemplo: http://jsfiddle.net/kCpNQ/

var myString = "0String";

if( myString.charAt( 0 ) === '0' )
    myString = myString.slice( 1 );

Se pode haver vários 0 caracteres no início, você pode mudar o if() para um while().

Exemplo: http://jsfiddle.net/kCpNQ/1/

var myString = "0000String";

while( myString.charAt( 0 ) === '0' )
    myString = myString.slice( 1 );
Comentários (0)

Experimentou a função de "Substring"?

string = string.indexOf(0) == '0' ? string.substring(1) : string;

Aqui's uma referência - https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring

E podes sempre fazer isto para múltiplos 0s:

while(string.indexOf(0) == '0')
{
    string = string.substring(1);
}
Comentários (0)
var s = "0test";
if(s.substr(0,1) == "0") {
    s = s.substr(1);
}

Para todos os 0s: http://jsfiddle.net/An4MY/

String.prototype.ltrim0 = function() {
 return this.replace(/^[0]+/,"");
}
var s = "0000test".ltrim0();
Comentários (4)