1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
---
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
---
<div>{{JSRef}}</div>
<div>O método <strong>test() </strong>executa uma busca por uma correspondência entre uma expressão regular e uma string. Retorna <code>true</code> ou <code>false</code>.</div>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox notranslate"><code><var>regexObj</var>.test(<var>str</var>)</code></pre>
<h3 id="Parâmetros">Parâmetros</h3>
<dl>
<dt><code>str</code></dt>
<dd>A string que confrontará a expressão regular.</dd>
</dl>
<h3 id="Retorno">Retorno</h3>
<p>Boolean.</p>
<p><code>true</code> se a string <code>str</code> corresponde com o que está descrito na expressão regular.</p>
<p>Caso contrário, retorna <code>false</code>.</p>
<h2 id="Descrição">Descrição</h2>
<p>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.</p>
<h2 id="Exemplos">Exemplos</h2>
<h3 id="Usando_test">Usando <code>test()</code></h3>
<p>Exemplo simples que verifica se <code>"hello"</code> está presente no início de uma string, retornando um booleano como resultado.</p>
<pre class="notranslate">const str = 'hello world!';
const result = /^hello/.test(str);
console.log(result); // true</pre>
<p>O exemplo a seguir mostra uma mensagem dependendo do sucesso do teste.</p>
<pre class="brush: js notranslate">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);
}
</pre>
<h2 id="Specificações">Specificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specificações</th>
<th scope="col">Status</th>
<th scope="col">Comentário</th>
</tr>
<tr>
<td>{{SpecName('ES3')}}</td>
<td>{{Spec2('ES3')}}</td>
<td>Definição inicial. Implementado no JavaScript 1.2.</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td></td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}}</td>
<td>{{Spec2('ES6')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_com_Browser">Compatibilidade com Browser</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Chrome para Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="Gecko-specific_notes">Gecko-specific notes</h2>
<p>A priori no Grecko 8.0 {{geckoRelease("8.0")}}, <code>test()</code> foi implementado incorretamente; quando chamado sem parâmetros, ele encontrária uma correspondência com o valor de entrada anterior (<code>RegExp.input</code> property) no lugar de uma correspondência com <code>"undefined"</code>. Isso está conrrigido; agora <code>/undefined/.test()</code> resultará em <code>true</code>, no lugar de um erro.</p>
<h2 id="See_also">See also</h2>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a> chapter in the <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a></li>
<li>{{jsxref("RegExp")}}</li>
</ul>
|