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
|
---
title: RegExp.prototype.test()
slug: Web/JavaScript/Reference/Global_Objects/RegExp/test
tags:
- Регулярні Вирази
- Рекомендації
- метод
- прототип
translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test
---
<div>{{JSRef}}</div>
<p><code>Метод</code><strong><code> test()</code></strong> виконує пошук на збіг між регулярним виразом і заданим рядком. Повертає <code>true</code> або <code>false</code>.</p>
<h2 id="Синтакс">Синтакс</h2>
<pre class="syntaxbox"><code><var>regexObj</var>.test(<var>str</var>)</code></pre>
<h3 id="Параметри">Параметри</h3>
<dl>
<dt><code>str</code></dt>
<dd>Рядок, що перевіряється регулярним виразом.</dd>
</dl>
<h3 id="Повертає">Повертає</h3>
<p><code>true</code> якщо є збіг між регулярним виразом та вказаним рядком; інакше, <code>false</code>.</p>
<h2 id="Опис">Опис</h2>
<p>Використовуйте <code>test()</code> щоразу коли ви хочете знати чи патерн знайдено у рядку (схоже до методу {{jsxref("String.prototype.search()")}}, різниця в тому, що test() повертає булеве значення, коли search() - індекс (якщо знайдено), інакше -1 (якщо не знайдено); якщо потрібно більше інформації (але виконання буде повільніше) використовуйте метод {{jsxref("RegExp.prototype.exec()", "exec()")}} (схожий до методу {{jsxref("String.prototype.match()")}} ). Як і {{jsxref("RegExp.prototype.exec()", "exec()")}} (або в комбінації з ним), <code>test(), що</code> викликаний декілька разів на одному і тому ж глобальному екземплярі регулярного виразу, буде швидшим ніж попередні виконування.</p>
<h2 id="Приклади">Приклади</h2>
<h3 id="Використання_test()">Використання <code>test()</code></h3>
<p>Простий приклад, що перевіряє чи "hello" знаходиться на самому початку рядка , повертає булеве значення.</p>
<pre class="brush: js">var str = 'hello world!';
var result = /^hello/.test(str);
console.log(result); // true
</pre>
<p>Наступний приклад виводить у лог сповіщення результату проходження тесту:</p>
<pre class="brush: js">function testinput(re, str) {
var midstring;
if (re.test(str)) {
midstring = ' contains ';
} else {
midstring = ' does not contain ';
}
console.log(str + midstring + re.source);
}
</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('ES3')}}</td>
<td>{{Spec2('ES3')}}</td>
<td>Початкове визначення. Реалізоване у 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>
<tr>
<td>{{SpecName('ESDraft', '#sec-regexp.prototype.test', 'RegExp.test')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_у_браузерах">Сумісність у браузерах</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 for 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">Замітки щодо Gecko</h2>
<p>До версії Gecko 8.0 {{geckoRelease("8.0")}}, <code>test()</code> було реалізовано невірно; коли він визивався без параметрів, то звірявся зі значенням попереднього вводу (властивістю <code>RegExp.input</code>), а не з рядком <code>"undefined"</code>. Це виправлено; зараз <code>/undefined/.test()</code> вірно повертає значення <code>true</code>, а не error, як це було раніше.</p>
<h2 id="Дивіться_також">Дивіться також</h2>
<ul>
<li>Глава <a href="/en-US/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a> у <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a></li>
<li>{{jsxref("RegExp")}}</li>
</ul>
|