带IP地址和端口号的URL验证

时间:2021-07-08 18:13:26
我现在需要验证用户输入的URL地址是否符合要求,输入的URL地址分为下面三种形式

1、http://www.sina.com/sa/aa.rar
2、http://192.168.1.100/aa/bb.exe
3、http://192.168.1.100:8080/aa/bb.exe
4、ftp://192.168.1.100/bb/sdfsdfsdfwof/.sdfsf/tt.gif
现在主要验证的是2、3、4分别验证到http://192.168.1.100/、http://192.168.1.100:8080/、ftp://192.168.1.100/后面的内容就不需要验证了。
现在需要用一个正则表达式,希望各位指教……

4 个解决方案

#1


((http)|(ftp))?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?
试试

#2


((http)|(ftp))://([\w-]+\.)+[\w-]+(:\d+)?

#3


两位的方法都不可以。

#4


引用 3 楼 xyj200588 的回复:
两位的方法都不可以。

用regextester验证了我和大康的,都是没问题的。有区别的只的是他的会匹配网址部分,我的匹配整个url而已。

#1


((http)|(ftp))?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?
试试

#2


((http)|(ftp))://([\w-]+\.)+[\w-]+(:\d+)?

#3


两位的方法都不可以。

#4


引用 3 楼 xyj200588 的回复:
两位的方法都不可以。

用regextester验证了我和大康的,都是没问题的。有区别的只的是他的会匹配网址部分,我的匹配整个url而已。