현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.
test()
메소드는 정규표현식과 어떤 문자열 간에 일치하는 문자열이 있는지 여부를 반환한다.
문법
regexObj.test(str)
인자
str
- 정규표현식 검색을 수행할 대상 문자열.
반환값
Boolean. true
or false
.
설명
Use test()
whenever you want to know whether a pattern is found in a string (similar to the String.prototype.search()
method, difference is that test returns a boolean, whilst search returns the index (if found) or -1 if not found); for more information (but slower execution) use the exec()
method (similar to the String.prototype.match()
method). As with exec()
(or in combination with it), test()
called multiple times on the same global regular expression instance will advance past the previous match.
Examples
Using test()
Simple example that tests if "hello" is contained at the very beginning of a string, returning a boolean result.
var str = "hello world!"; var result = /^hello/.test(str); console.log(result); // true
The following example logs a message which depends on the success of the test:
function testinput(re, str){ var midstring; if (re.test(str)) { midstring = ' contains '; } else { midstring = ' does not contain '; } console.log(str + midstring + re.source); }
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) The definition of 'RegExp.test' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'RegExp.test' in that specification. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) The definition of 'RegExp.test' in that specification. |
Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Gecko-specific notes
Prior to Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), test()
was implemented incorrectly; when it was called with no parameters, it would match against the value of the previous input (RegExp.input
property) instead of against the string "undefined"
. This is fixed; now /undefined/.test()
correctly results in true
, instead of an error.
See also
- Regular Expressions chapter in the JavaScript Guide
RegExp