Manter apenas os primeiros n caracteres em uma string?

305

Existe uma maneira no JavaScript para remover o final de uma string?

Eu preciso manter apenas os 8 primeiros caracteres de uma string e remover o restante.

user978905
fonte

Respostas:

523

Você está procurando o Stringmétodo JavaScriptsubstring

por exemplo

'Hiya how are you'.substring(0,8);

O que retorna a string começando no primeiro caractere e terminando antes do nono caractere - ou seja, 'Hiya how'.

documentação de substring

Sável
fonte
64

Você poderia usar String.slice:

var str = '12345678value';
var strshortened = str.slice(0,8);
alert(strshortened); //=> '12345678'

Usando isso, uma extensão String pode ser:

String.prototype.truncate = String.prototype.truncate ||
  function (n){
    return this.slice(0,n);
  };
var str = '12345678value';
alert(str.truncate(8)); //=> '12345678'

Veja também

KooiInc
fonte
9
+1 porque str.slice () permite que você faça a segunda negativa argumento a contar da parte de trás, ao contrário str.substring: "abcdef".slice(0, -2) == "abcd".
Claude
15

Use a função de substring
Verifique isso http://jsfiddle.net/kuc5as83/

var string = "1234567890"
var substr=string.substr(-8);
document.write(substr);

Output >> 34567890

substr(-8) manterá os últimos 8 caracteres

var substr=string.substr(8);
document.write(substr);

Output >> 90

substr(8) manterá os últimos 2 caracteres

var substr=string.substr(0, 8);
document.write(substr);

Output >> 12345678

substr(0, 8) manterá os primeiros 8 caracteres

Verifique isso string.substr (start, length)

Wazy
fonte
1
Excluirá ou manterá os últimos 8 caracteres?
vusan
2

Você poderia tentar:

myString.substring(0, 8);
Mike Christensen
fonte
(0,7) fornecerá os 7 primeiros caracteres
Saket 10/10
Sim, você está certo, o segundo índice é um ponto de parada e não está incluído no valor de retorno. Fixo.
Mike Christensen
2
var myString = "Hello, how are you?";
myString.slice(0,8);
Sahil Muthoo
fonte
1

Use a string.substring(from, to) API . No seu caso, usestring.substring(0,8).

Saket
fonte
1

Você pode usar .substring, que retorna uma poção de uma string:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
pimvdb
fonte