对于这个原型 url 检查器。请注意,我现在要做的就是检查长度。
url: /:\/\/(www\.)?.{1,200}\..{1,1800}/,
Jslint.com 给出错误
Insecure '.'
我在这个SO 帖子上的这个否定字符集也有类似的错误。
鉴于这种背景,我认为很明显 jslint 不喜欢允许全部或几乎全部作为测试模式。
所以,我只需要更换 . 具有域的有效字符集和域之后的部分。
对于我可以简化为的域
[a-zA-Z0-9\-]
域之后的部分的字符集是什么...ieafter foo.com/
所以有
//
其次是
www.(optional)
其次是
foo.boo.moo.(note it matched up until the last .) ( this character set is listed above)
其次是
X
我如何将所有 X 放在一起:
http://www.foo.X
我不关心提取端口或查询信息,我只需要域之后所有内容的字符集,以使正则表达式根据 jslint “安全”。
请注意,我只是在尝试逐步改进。
JavaScript, The Good Parts 在正则表达式章节中有一个很好的 URL 检查器,但不是我现在需要的。