【发布时间】:2017-07-25 22:10:55
【问题描述】:
我知道这是一个很常见的问题,对此有很多答案,但我的问题不同,我想接受以下所有格式的 URL:
http://www.sample.com
https://www.sample.com
http://www.sample.com/xyz
www.sample.com
www.sample.com/xyz/#/xyz
sample.com
// & much more ...
所以这里的想法是,我允许用户进入那里的网站,另一个用户只需点击保存的网站并转到用户网站。所以在这里限制用户输入正确的 URL 不是一个好主意,他们可以输入上述任何格式。这是我现在使用的正则表达式,但它只检查 URL 是否从正确的协议开始:
^(ftp|http|https):\/\/[^ "]+$
【问题讨论】:
-
你要验证协议还是域地址?,如果是协议,检查默认浏览器协议,如果没有指定,相应地进行验证。
-
实际上,用户可以使用协议或仅域输入,但不能像任何随机字符串一样输入,它应该符合我输入的那些给定标准
-
所以如果协议正确,如果 url 包含“sample.com”它应该通过,这就是你的意思吗?
-
@Rizwan,是的,这是处理上述验证的最佳和最简单的方法之一。
-
@RizwanM.Tuman 也可能没有协议,所以如果没有协议也应该通过我自己处理,为什么要求用户输入它,有些用户甚至不知道 HTTP 或 HTTPS
标签: javascript regex validation