url正则匹配

1.原因

最近项目需要对用户所提交的地址进行匹配(用户界面只有一个输入框,且没有相应标签进行选择)如下:
这里写图片描述
当然不能给你们看项目具体什么样,这是一个DEMO功能类似于当前项目。
该项目需要对用户所给出的字符串进行处理。

2.输入类型

当前一共有三种输入类型:

  1. 外部网站地址,如www.baidu.com形式
  2. 局域网内共享盘地址,如file://YAOK-A-PC1/android或者\\192.168.xxx.xxx\DailyBuild\201x.0x.xx\x.0.0.xx-xxx形式
  3. 上传到网站空间的相对下载地址,如/xxxxx/1092dfe7-f6d1-4910-a0d7-2cf336297ebb.xxx形式

3.处理形式

其中对类型1,2进行跳转操作,对类型3需进行文件下载操作。
原先主要是对http头com结尾等特征点进行匹配,但这种匹配对于tongji.baidu.com/web/welcome/login这种形式的URL识别不甚给力。经过在网络中的搜索,以及自己根据当前项目需求的修改,现在试出了一个新的正则匹配表达式,表达式如下:

^(http:\/\/|ftp:\/\/|https:\/\/|file:\/\/|\\\\|)[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$

4.测试结果

TIPS:在这里推荐使用在线的正则表达式测试网站进行测试

下面放测试结果:

1.外部地址:

1-1
以http开头
1-2
这里写图片描述
1-3
直接开头

2.局域网内共享盘地址

2-1
file开头
2-2
\开头的IP地址

3.上传到网站空间的相对下载地址

网站内部文件地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值