我想验证一个网址。我已经有一个脚本,验证不允许www.
和http://
,但我还需要验证.co.uk
,.com
等。
如果他们输入像example.co.ukff
这样的内容,我的脚本就不会运行。
我有一个完整的URL:
^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i
我只需要验证end .co.uk
或.com
等。
发布于 2014-10-17 12:27:24
试试这个。
/^http:\/\/|(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/
它就像你想要的那样工作。
它使用或不使用http://, https://,
和www
。
发布于 2011-01-14 15:23:11
远没有假装这是匹配urls的理想正则表达式,只匹配不以www开头的urls的特殊问题可以用:(?!www\.)
解决,这意味着下面的文本不应该是www。
因此,您的正则表达式采用了这个负向先行:
^(?!www\.)[A-Za-z0-9_-]+\.+[A-Za-z0-9.\/%&=\?_:;-]+$
匹配以下urls
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
https://stackoverflow.com/questions/4691070
复制相似问题