url正则匹配

来源:互联网 发布:域名是啥意思 编辑:程序博客网 时间:2024/05/24 01:57

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
原创粉丝点击