MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

String.prototype.search()

Tradução em progresso.

O método search() executa uma busca de uma expressão regular neste objeto  String.

Sintaxe

str.search(regexp)

Parâmetros

regexp
Um objeto contendo uma expressão regular. Se um objeto obj for passado como argumento e não for do tipo RegExp, ele é implicitamente convertido para um objeto RegExp através da instrução new RegExp(obj).

Valor retornado

O índice no string do primeiro trecho que satisfez a expressão regular; se não encontrado, -1.

Descrição

Quando quiser verificar um padrão no texto e inclusive seu índice na string utilize search() (se apenas quiser verificar então use o método similar test() no prototype RegExp, que retorna um booleano); para mais informações (porém executado mais lentamente) use match() (similar ao método exec()).

Exemplos

Usando search()

O seguinte exemplo efetua o log de uma mensagem que depende do sucesso do teste.

function testinput(re, str) {
  var midstring;
  if (str.search(re) != -1) {
    midstring = ' contem ';
  } else {
    midstring = ' nao contem ';
  }
  console.log(str + midstring + re);
}

Especificações

Specificação Status Comentário(s)
ECMAScript 3rd Edition (ECMA-262) Padrão Definição inicial. Implementada no JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.search' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.search' in that specification.
Padrão  
ECMAScript Latest Draft (ECMA-262)
The definition of 'String.prototype.search' in that specification.
Rascunho  

Compatibilidade dos navegadores

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

Notas específicas do motor Gecko

  • Antes de Gecko 8.0, search() foi implementado incorretamente; quando era invocado sem parâmetros ou com undefined, ele buscava pelo string 'undefined', ao invés de buscar pelo string vazio. Isto foi corrigido; Agora 'a'.search() e 'a'.search(undefined) corretamente retornam 0.
  • A partir do Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), o argumento não-padrão flags está defasado (deprecated) e dispara uma console warning (bug 1142351).
  • A partir do Gecko 47 (Firefox 47 / Thunderbird 47 / SeaMonkey 2.44), o argumento não-padrão flags não é mais suportado em builds non-release e em breve será removido inteiramente (bug 1245801).
  • A partir do Gecko 49 (Firefox 49 / Thunderbird 49 / SeaMonkey 2.46), o argumento não-padrão flags não é mais suportado (bug 1108382).

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: stroparo
 Última atualização por: stroparo,