我在寻找验证URL。我已经是验证不允许www.
和http://
的脚本,但我还需要验证为.co.uk
.com
等验证没有www的网址。或http://
,如果他们输入类似example.co.ukff
我的脚本将无法运行。
我有这样一个完整的URL:
^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i
我只需要确认到底.co.uk
或.com
等
我在寻找验证URL。我已经是验证不允许www.
和http://
的脚本,但我还需要验证为.co.uk
.com
等验证没有www的网址。或http://
,如果他们输入类似example.co.ukff
我的脚本将无法运行。
我有这样一个完整的URL:
^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i
我只需要确认到底.co.uk
或.com
等
装作这是理想的正则表达式匹配的URL,特定的远(?!www\.)
:只有匹配的URL里面做不与WWW开始的问题可以用一个negative lookahead解决这意味着下面的文字不应该是www。
因此,您正则表达式适应这种负前瞻:
^(?!www\.)[A-Za-z0-9_-]+\.+[A-Za-z0-9.\/%&=\?_:;-]+$
以下网址
google.com
google.com/
goggle.com/q
google.com/q?q=1&h=en
google.co.uk
google.co.uk/
goggle.co.uk/q
google.co.uk/q?q=1&h=en
w.google.com
w.google.com/
w.goggle.com/q
w.google.com/q?q=1&h=en
209.85.149.105
209.85.149.105/
209.85.149.105/q
209.85.149.105/q?q=1&h=en
209.85.149.105:80
209.85.149.105:80/
209.85.149.105:80/q
209.85.149.105:80/q?q=1&h=en
example.domain.bogus.number.of.subdomains/index.htm
而不是那些符合条件:
www.google.com
www.google.com/
www.google.co.uk
www.google.co.uk/
www.google.co.uk/q
www.google.co.uk/q?q=1&h=en
http://209.85.149.105/
http://209.85.149.105:80/
http://www.google.com
https://www.google.com
http://google.com
https://google.com
试试这个.. 。
/^http:\/\/|(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/
它的工作正是你想要的。
它带或不带http://, https://,
和www
。
你试过了吗?它与`http://`单独匹配,`[a-z] {2,5}`与TLD匹配非常差,请参阅:https://data.iana.org/TLD/tlds-alpha-by-domain.txt – Toto 2014-10-17 13:01:26