regex.test():它来自哪里

  • 本文关键字:test regex javascript
  • 更新时间 :
  • 英文 :


我对下面名为 test 的函数(第 3 行)的使用感到好奇:

var pattern = /[1-9][1-9]{5}/;
var str = 'this is 248760!';
alert(pattern.test(str));

我在一本书上看到了这个脚本,没有test(str)函数的定义。

为什么它会提醒true而不是给出错误?

pattern是一个正则表达式对象

/[1-9][1-9]{5}/.test("foo"); // valid javascript

正则表达式对象提供了许多成员函数,例如 test(...)toString() 仅举几例......

/[1-9][1-9]{5}/.toString(); // "/[1-9][1-9]{5}/"

开头和结尾的/是以下内容的简写:

new RegExp("[1-9][1-9]{5}"); // /[1-9][1-9]{5}/

pattern 变量实际上是正则表达式对象(因为前后/字符),正则表达式具有成员函数test(...)内置作为 JavaScript 的一部分。

最新更新