search()方法
search()方法可以返回指定模式的子串在字符串首次出现的位置,相对于indexOf()方法来说功能更强大。具体示例如下。
var str = '123*abc.456';
console.log(str.search('.*')); // 输出结果:0
console.log(str.search(/[\.\*]/)); // 输出结果:3
从上述代码可知,search()方法的参数是一个正则对象,如果传入一个非正则表达式对象,则会使用“new RegExp(传入的参数)”隐式地将其转换为正则表达式对象。因此,第2行代码相当于返回任意字符在字符串str中首次出现的位置,也就是字符串str中开头字符首次出现的位置0。另外,search()方法匹配失败后的返回值为-1。