我很好奇下面名为test的函数(第 3 行)的使用:
var pattern = /[1-9][1-9]{5}/;
var str = 'this is 248760!';
alert(pattern.test(str));
我在一本书中看到了这个脚本,并没有定义test(str)
函数。
为什么它会发出警报true
而不是给出错误?
我很好奇下面名为test的函数(第 3 行)的使用:
var pattern = /[1-9][1-9]{5}/;
var str = 'this is 248760!';
alert(pattern.test(str));
我在一本书中看到了这个脚本,并没有定义test(str)
函数。
为什么它会发出警报true
而不是给出错误?
pattern
变量实际上是正则表达式对象(因为之前和之后的字符/
),并且正则表达式具有test(...)
作为 JavaScript 一部分内置的成员函数。
pattern
是一个正则表达式对象
/[1-9][1-9]{5}/.test("foo"); // valid javascript
正则表达式对象提供了许多成员函数,例如test(...)
, toString()
仅举几例......
/[1-9][1-9]{5}/.toString(); // "/[1-9][1-9]{5}/"
/
开头和结尾的's 是以下内容的简写:
new RegExp("[1-9][1-9]{5}"); // /[1-9][1-9]{5}/