您有两个可能性:
正则表达式:
(new RegExp('word')).test(str)
// or /word/.test(str)
indexOf
:
str.indexOf('word') !== -1
不能肯定地说哪种方法更快。浏览器之间的差异是巨大的。虽然在Chrome 10中indexOf
似乎更快,但在Safari 5indexOf
中显然比任何其他方法都慢。
您必须看到并尝试自我。这取决于您的需求。例如 ,不区分大小写的 搜索使用正则表达式会更快。
为了使人们免于自己运行测试,以下是大多数常见浏览器的当前结果,这些百分比表示性能比第二快的结果有所提高(在不同的浏览器中有所不同):
indexOf(?98%快)<-- wow
缓存RegExp( %快) 缓存RegExp(?10%快) indexOf(?18%快) 缓存RegExp(?0.4%快)
请注意, 缓存的RegExp 是:var r = new RegExp('simple'); var c =r.test(str);
相对于:/simple/.test(str)