所以我看到了许多类似的问题和答案,但找不到符合我特定需求的解决方案。
我在Regex上很糟糕,我正在努力为下面的url验证获得一个简单的Regex。
domain.com
domain.com/folder
subdomain.domain.com
subdomain.domain.com/folder
还要验证可选的http://和http://www。会非常有帮助的。谢谢!
答案 0 :(得分:0)
尽可能接近:
/[a-z]+:\/\/(([a-z0-9][a-z0-9-]+\.)*[a-z][a-z]+|(0x[0-9A-F]+)|[0-9.]+)\/.*/
请注意,您的问题并未限制一组协议,顶级域名或字符集的网址。
skype://18005551212
或gopher://localhost
之类的内容是有效的网址。哎呀,根据您用来浏览的内容,以下可能都是有效的方法来访问同一台服务器(虽然不是完全相同的虚拟主机):
他们都在Firefox中为我工作。
如果您想进一步限制,请确定它们是什么。你愿意牺牲有效的协议吗?你真的只对一两个协议感兴趣吗?
更具体的问题将为您提供更具体的答案。