--- title: RegExp.prototype.test() slug: Web/JavaScript/Reference/Global_Objects/RegExp/test tags: - Expressão Regular - JavaScript - Prototype - Referencia - RegExp - metodo translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test ---
true
ou false
.regexObj.test(str)
str
Boolean.
true
se a string str
corresponde com o que está descrito na expressão regular.
Caso contrário, retorna false
.
Use test() sempre que você quiser saber se um padrão está dentro de uma string( similar ao método {{jsxref("String.prototype.search()")}}); Para mais informações (porém com execução mais lenta) use o método {{jsxref("RegExp.prototype.exec()", "exec()")}} (similar ao método {{jsxref("String.prototype.match()")}}). Assim como {{jsxref("RegExp.prototype.exec()", "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.
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.
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); }
Specificações | Status | Comentário |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Definição inicial. Implementado no JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}} | {{Spec2('ES6')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
A priori no Grecko 8.0 {{geckoRelease("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.