javascript中.match和.test有什么区别

时间:2016-02-10 06:11:29

标签: javascript

在浏览JavaScript时我遇到了.match,.test和.exec
有什么不同?
 这是最快的

1 个答案:

答案 0 :(得分:3)

首先,.exec().test()是正则表达式对象上的方法。 .match()是字符串上的方法,并将正则表达式对象作为参数。

如果匹配与否,

.test()会返回布尔值。它不会返回实际匹配的内容。

.match().exec()相似。在字符串上调用.match()并返回一组结果。在正则表达式上调用.exec()并且可以多次调用以返回多个复杂匹配(当您需要与组进行多次匹配时)。

您可以看到一些示例,说明如何对.exec() here on MDN进行多次连续调用。

如果你只是想知道它是否匹配,你可能会使用.test()而且不需要确切知道匹配的内容。

如果您想知道哪些匹配并且符合您的需求,您可能会使用.match()(例如,您不需要通过多次调用.exec()来处理更复杂的事情)。