可能重复:
用于URL验证的正则表达式(在JavaScript中)
因此,我看到了许多类似的问题和答案,但找不到适合我特定需求的解决方案。
我在Regex很糟糕,正在努力获得一个简单的Regex来进行以下url验证。
domain.com
domain.com/folder
subdomain.domain.com
subdomain.domain.com/folder
还验证可选的http://和http://www.会非常有帮助。谢谢
尽可能接近:
/[a-z]+:'/'/(([a-z0-9][a-z0-9-]+'.)*[a-z][a-z]+|(0x[0-9A-F]+)|[0-9.]+)'/.*/
请注意,您的问题并没有将URL限制为一组协议、TLD或字符集。
像skype://18005551212
或gopher://localhost
这样的东西是一个有效的URL。见鬼,根据您使用的浏览方式,以下可能都是访问同一服务器(尽管不是完全相同的虚拟主机)的有效方法:
- https://stackoverflow.com/
- http://64.34.119.12/
- http://1076000524/
- http://0x4022770C/
它们都在Firefox中为我工作。
如果您想要进一步的限制,请确定它们是什么。你愿意牺牲有效的协议吗?你真的只对一两个协议感兴趣吗?
更具体的问题会给你一个更具体的答案。