所以我有一个识别 URL 的正则表达式:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
但是,当我使用它来识别用户输入的 url 时,简单地使用.test
会大大降低页面速度,即使根据MDN,它应该比 exec 更快。我是否使用过时的正则表达式测试方法?有没有我不知道的更快的方法?还是我的正则表达式真的很长很复杂?
这是一个JSFiddle。
编辑:在 Chrome 中需要 20.7 秒,在 Internet Explorer 9 中 v24 1:48.5