RegExp.prototype.test()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
RegExp å®ä¾ç test() æ¹æ³ä½¿ç¨æ£å表达å¼å¨æå®åç¬¦ä¸²ä¸æ§è¡æç´¢ã妿åå¨å¹é
ï¼åè¿å true, å¦åè¿å falseã
JavaScript ç RegExp 对象å¨è®¾ç½®äº globalï¼å
¨å±ï¼æ stickyï¼ç²æ§ï¼æ å¿æ¶ï¼ä¾å¦ /foo/g æ /foo/yï¼ï¼æ¯æç¶æçãå®ä»¬ä¼ä»ä¸ä¸æ¬¡å¹é
ä¸ä¿åä¸ä¸ª lastIndex 屿§ãå©ç¨è¿ä¸ªç¹æ§ï¼test() æ¹æ³å¯ä»¥ç¨æ¥å¨ä¸æ®µææ¬å符串ä¸ï¼é
åæè·ç»ï¼è¿ä»£æ¥æ¾å¤ä¸ªå¹é
项ã
å°è¯ä¸ä¸
const str = "table football";
const regex = new RegExp("foo*");
const globalRegex = new RegExp("foo*", "g");
console.log(regex.test(str));
// Expected output: true
console.log(globalRegex.lastIndex);
// Expected output: 0
console.log(globalRegex.test(str));
// Expected output: true
console.log(globalRegex.lastIndex);
// Expected output: 9
console.log(globalRegex.test(str));
// Expected output: false
è¯æ³
regexObj.test(str)
åæ°
str-
ç¨æ¥ä¸æ£å表达å¼å¹é çå符串
è¿åå¼
妿æ£å表达å¼ä¸æå®çå符串å¹é
ï¼è¿åtrueï¼å¦åfalseã
æè¿°
å½ä½ æ³è¦ç¥éä¸ä¸ªæ£åè¡¨è¾¾å¼æ¯å¦ä¸æå®çå符串å¹é
æ¶ï¼å°±å¯ä»¥ä½¿ç¨ test()ï¼ç±»ä¼¼äº String.prototype.search() æ¹æ³ï¼ï¼å·®å«å¨äº test è¿åä¸ä¸ªå¸å°å¼ï¼è search è¿åç´¢å¼ï¼å¦ææ¾å°ï¼æè
-1ï¼å¦ææ²¡æ¾å°ï¼ï¼è¥æ³ç¥éæ´å¤ä¿¡æ¯ï¼ç¶èæ§è¡æ¯è¾æ
¢ï¼ï¼å¯ä½¿ç¨exec() æ¹æ³ï¼ç±»ä¼¼äº String.prototype.match() æ¹æ³ï¼ãå exec() (æè
ç»å使ç¨),䏿 ·ï¼å¨ç¸åçå
¨å±æ£å表达å¼å®ä¾ä¸å¤æ¬¡è°ç¨testå°ä¼è¶è¿ä¹åçå¹é
ã
示ä¾
>ä½¿ç¨ test()
ä¸ä¸ªç®åçä¾åï¼æµè¯ "hello" æ¯å¦å å«å¨å符串çæå¼å§ï¼è¿åå¸å°å¼ã
let str = "hello world!";
let result = /^hello/.test(str);
console.log(result);
// true
ä¸ä¾æå°ä¸æ¡ä¿¡æ¯ï¼è¯¥ä¿¡æ¯å 容åå³äºæ¯å¦æåéè¿æå®æµè¯ï¼
function testinput(re, str) {
var midstring;
if (re.test(str)) {
midstring = " contains ";
} else {
midstring = " does not contain ";
}
console.log(str + midstring + re.source);
}
å½è®¾ç½®å
¨å±æ å¿çæ£å使ç¨test()
妿æ£å表达å¼è®¾ç½®äºå
¨å±æ å¿ï¼test() çæ§è¡ä¼æ¹åæ£åè¡¨è¾¾å¼ lastIndex屿§ãè¿ç»çæ§è¡test()æ¹æ³ï¼åç»çæ§è¡å°ä¼ä» lastIndex å¤å¼å§å¹é
å符串ï¼(exec() åæ ·æ¹åæ£åæ¬èº«ç lastIndex 屿§å¼).
ä¸é¢çå®ä¾è¡¨ç°äºè¿ç§è¡ä¸ºï¼
var regex = /foo/g;
// regex.lastIndex is at 0
regex.test("foo"); // true
// regex.lastIndex is now at 3
regex.test("foo"); // false
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-regexp.prototype.test> |
æµè§å¨å ¼å®¹æ§
åè§
- JavaScript æåçæ£å表达å¼ç« è
RegExp