String.prototype.indexOf()

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

Sumário

O método indexOf() retorna o índice da primeira ocorrência do valor especificado em searchValue dentro do objeto String para o qual foi chamado, começando a busca a partir de fromIndex. Retorna -1 se o valor não for encontrado.

Sintaxe

str.indexOf(searchValue[, fromIndex])

Parâmetros

searchValue
Uma string represantando o valor a ser buscado.
fromIndex
A posição da string original a partir da qual a busca deve começar. Pode ser qualquer número inteiro. O valor padrão é 0. Se fromIndex < 0 a string toda é percorrida (equivalente a passar 0). Se fromIndex >= str.length, o método irá retornar -1.

Descrição

Caracteres em uma string são indexados da esquerda para a direita. O índice do primeiro caractere é 0, e o índice do último caractere de uma string chamada stringName é stringName.length - 1.

"Blue Whale".indexOf("Blue");     // retorna  0
"Blue Whale".indexOf("Blute");    // retorna -1
"Blue Whale".indexOf("Whale", 0); // retorna  5
"Blue Whale".indexOf("Whale", 5); // retorna  5
"Blue Whale".indexOf("", 9);      // retorna  9
"Blue Whale".indexOf("", 10);     // retorna 10
"Blue Whale".indexOf("", 11);     // retorna 10

Sensível a maiúsculas e minúsculas

O método indexOf é sensível a letras maiúsculas e minúsculas. Por exemplo, a expressão a seguir retorna -1:

"Blue Whale".indexOf("blue") // retorna -1

Verificando ocorrências

Note que um retorno '0' não implica em true e '-1' não implica em false. Portanto, ao verificar se uma string específica está contida em outra string, a maneira correta de verificar seria:

"Blue Whale".indexOf("Blue") != -1; // true
"Blue Whale".indexOf("Bloe") != -1; // false

Exemplos

Exemplo: Usando indexOf e lastIndexOf

O exemplo a seguir usa indexOf e lastIndexOf para localizar valores dentro da string "Brave new world".

var anyString = "Brave new world";

console.log("O índice do primeiro w partindo do começo é " + anyString.indexOf("w"));
// Exibe 8
console.log("O índice do primeiro w partindo do final é " + anyString.lastIndexOf("w")); 
// Exibe 10

console.log("O índice de 'new' partindo do começo é " + anyString.indexOf("new"));   
// Exibe 6
console.log("O índice de 'new' partindo do final é " + anyString.lastIndexOf("new"));
// Exibe 6

Exemplo: indexOf e sensibilidade a maiúsculas e minúsculas

O exemplo a seguir definie duas variáveis string. As variáveis contém a mesma string, exceto que a segunda string tem letras maiúsculas. O primeiro método log exibe 19. Porém, como o método indexOf é sensível a caixa, a string "cheddar" não é encontrada em myCapString, portanto o segundo método log exibe -1.

var myString    = "brie, pepper jack, cheddar";
var myCapString = "Brie, Pepper Jack, Cheddar";

console.log('myString.indexOf("cheddar") é ' + myString.indexOf("cheddar"));    
// Exibe 19
console.log('myCapString.indexOf("cheddar") é ' + myCapString.indexOf("cheddar")); 
// Exibe -1

Exemplo: Usando indexOf para contar as ocorrências de uma letra numa string.

O exemplo a seguir atribui à variável count o número de ocorrências da letra x na string str:

count = 0;
pos = str.indexOf("x");

while ( pos != -1 ) {
   count++;
   pos = str.indexOf( "x",pos + 1 );
}

Especificações

Especificação Situação Comentário
ECMAScript 1st Edition. Padrãp Definição inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.indexOf' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.indexOf' in that specification.
Standard  

Compatibilidade em navegadores

Recurso Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Recurso Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

 

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: badiale, vspedr, diegoarcega, teoli, nicholasess
 Última atualização por: badiale,