RegExp.prototype.test()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O método test() executa uma busca por uma correspondência entre uma expressão regular e uma string. Retorna true ou false.

Sintaxe

regexObj.test(str)

Parâmetros

str

A string que confrontará a expressão regular. Todos os valores são convertidos em strings, portanto, omiti-lo ou passar undefined faz com que test() procure a string "undefined".

Retorno

Boolean.

true se a string str corresponde com o que está descrito na expressão regular.

Caso contrário, retorna false.

Descrição

Use test() sempre que você quiser saber se um padrão está dentro de uma string( similar ao método String.prototype.search()); Para mais informações (porém com execução mais lenta) use o método exec() (similar ao método String.prototype.match()). Assim como exec() (ou em combinação com ele), test() quando chamado várias vezes dentro da mesma instância de expressão regular irá avançar seu ponteiro para a correspondência anterior.

Exemplos

Usando test()

Exemplo simples que verifica se "hello" está presente no início de uma string, retornando um booleano como resultado.

const str = 'hello world!';
const result = /^hello/.test(str);

console.log(result); // true

O exemplo a seguir mostra uma mensagem dependendo do sucesso do teste.

js
function testinput(re, str) {
  var midstring;
  if (re.test(str)) {
    midstring = " Contém ";
  } else {
    midstring = " não contém ";
  }
  console.log(str + midstring + re.source);
}

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-regexp.prototype.test

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
test

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Gecko-specific notes

A priori no Grecko 8.0, test() foi implementado incorretamente; quando chamado sem parâmetros, ele encontrária uma correspondência com o valor de entrada anterior (RegExp.input property) no lugar de uma correspondência com "undefined". Isso está conrrigido; agora /undefined/.test() resultará em true, no lugar de um erro.

See also