0 0

正则表达式匹配URL10

请教一个javascript正则表达式匹配URL
URL格式如下:
http://11.12.13.14:9091/FileServer/fileupload?path=/aa/bb/cc/backup/log/test.log
rtsp://20.0.1.15/88888888/16/20121215/268435462/268435462.ts
协议也可能是:https | http | ftp | rtsp | igmp | file | rtspt | rtspu
1、主要是要匹配URL最后面的文件,URL最后的斜杠后面必须要有文件,不限制文件格式;
2、匹配前面的协议部分、支持IP路径等,其他部分次要。
求大神解决!!!
2013年3月05日 18:45

4个答案 按时间排序 按投票排序

0 0

采纳的答案

(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)://((((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))|([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6})(:[0-9]{1,4})?([a-zA-Z/?_=]*)\.\w{1,5}


(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)匹配 协议部分

(((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))匹配IP地址部分
([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6}) 匹配域名部分
(:[0-9]{1,4})?匹配端口号可要可不要
([a-zA-Z/?_=]*)匹配端口号位置到点号部分的内容
\.\w{1,5}匹配点后缀

2013年3月06日 11:11
0 0

var str="ftp://www.iteye.com/999aa.action/20121215/268435462/js_1.6.4.tar.gz";  
var urlReg=new RegExp(/(?:http|ftp|rtsp|rtsp|igmp|file|rtspt|rtspu):\/\/[^\/]+(\/.*)?\/([^\/]+\.[^\/\.]+)$/);  
 str.match(urlReg);  


在写表达式的时候 先看一下你的需求

1、主要是要匹配URL最后面的文件,URL最后的斜杠后面必须要有文件,不限制文件格式; 
2、匹配前面的协议部分、支持IP路径等,其他部分次要。 


只需要判断符合URL格式 ,最后以文件格式结束

1:基本忽略URL的前缀 (根据需求 前缀没有利用价值,
其实可以用[a-zA-Z0-9]+ 来表示,考虑到特殊的、自定义的前缀所以放弃了  )
2: 忽略域名+IP 端口 (还是没有 利用价值)
3: 可以包含.action | .do 等方法后缀
4: 文件判断的时候 能包含文件后缀存在多个点的情况 eg: jdk1.6_4.tar.gz

2013年3月08日 10:50
0 0

(https|http|ftp|rtsp|igmp|file|rtspt|rtspu)://((((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d))|(([0-9a-z_!~*'()-]*\.?))([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.([a-z]{2,6}))(:[0-9]{1,4})?([a-zA-Z0-9/?_=.]*\.\w{1,5})

正确的答案

2013年3月06日 11:30
0 0

 


var str="ftp://20.0.1.15/999aa/20121215/268435462/js_1.6.4.tar.gz";
var urlReg=new RegExp(/(?:http|ftp|rtsp):\/\/[^\/]+\/([^\.]*)\/([^\/]+\.[^\/\.]+)$/);
var flag=!!str.match(urlReg);
alert(flag);



经测试:
rtsp://20.0.1.15/88888888/16/20121215/268435462/268435462.log
http://20.0.1.15/a?path=/20121215/268435462/268435462.log
ftp://20.0.1.15/999aa/20121215/268435462/js_1.6.4.tar.gz

皆弹出true

2013年3月06日 10:31

相关推荐

    正则表达式大全 - 收集的最常用正则表达式

    匹配网址URL的正则表达式 匹配国内电话号 匹配中国邮政编码 匹配身份证 匹配ip地址 匹配特定字符串 匹配中文字符的正则表达式 匹配双字节字符(包括汉字在内) 匹配HTML标记的正则表达式 匹配首尾空格的正则表达 式

    神奇的匹配 正则表达式求精之旅

    《神奇的匹配:正则表达式求精之旅》从正则表达式的基本概念、基本语法入手,着重于数字验证、字符串验证、数字和字符串混合验证及HTML处理等各个方面的应用。并基于目前流行的程序语言和应用环境(如C#、ASP.NET、...

    输入一个正则表达式,匹配字符

    与NFA相对应,DFA (deterministic finite-state automata)表示确定性有限状态自动机。与NFA不同,DFA不存在Epsilon转换,并且每一个状态转换函数的值只对应一个状态,即一个状态输入一个字符,只能有一个状态相对应

    数据库url正则表达式校验

    该文档是针对mysql和oracle数据库url地址的校验问题。

    常用正则表达式******

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] ...匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    其他的正则表达式匹配.php 其他的正则表达式匹配 取得正则表达式的全部匹配.php 取得正则表达式的全部匹配 返回与模式匹配的数组单元.php 返回与模式...

    所有常用的正则表达式

    匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:...

    java正则表达式匹配网页所有网址和链接文字的示例

    主要介绍了java正则表达式匹配网页所有网址和链接文字java正则表达式匹配,需要的朋友可以参考下

    正则表达式(学习的好资料)

    好东西 都是好东西咧 里面包括 ...javascript 验证url的正则表达式 JavaScript中的正则表达式学习1-2 JS与正则式强化训练作业 经典正则表达式 正则表达式--递归匹配与非贪婪匹配 正则式测试工具 等等等等

    精通正则表达式~~~

    使用正则表达式匹配文本... 38 向更实用的程序前进... 40 成功匹配的副作用... 40 错综复杂的正则表达式... 43 暂停片刻... 49 使用正则表达式修改文本... 50 例子:公函生成程序... 50 举例:修整股票价格....

    常用的正则表达式(实例)

    常用的正则表达式,包含字符串的常用操作,常用的匹配( 匹配Email地址的正则表达式...匹配网址URL的正则表达式;匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线;匹配国内电话号码;匹配腾讯QQ号等等)

    JS正则表达式葵花宝典

    javascript 验证url的正则表达式. 经典正则表达式. 正则表达式--递归匹配与非贪婪匹配

    php用正则表达式匹配URL的简单方法

    使用正则表达式匹配URL的简单方法,提供测试代码

    易语言泪闯天涯-正则表达式应用[取链接地址]源码,易语言泪闯天涯

    易语言彗星正则表达式模块例程源码,彗星正则表达式模块例程,创建,取文本,替换,搜索全部,取匹配数量,取匹配文本,取子匹配文本,清除HTML标签

    正则表达式

    匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 说明:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 说明...

    url正则表达式

    NULL 博文链接:https://pwc-pengwenchao.iteye.com/blog/762456

    匹配URL的正则表达式(推荐)

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 则表达式: var match = /^((ht|f)tps?):\/\/[\w\...

    正则表达式经典实例中文版 (美)高瓦特斯

     学习如何在uRL、路径、标记语言和数据交换中使用正则表达式;  学习更高深的正则表达式特性中的微妙之处;  理解在不同语言中正则表达式的API、语法和行为之间的区别;  创建更好的正则表达式来满足个性化的...

    经典JavaScript正则表达式实战

    显示或者保存正则表达式匹配的部分内容... 18 正则表达式替换变量... 18 正则替换指定属性中的文本... 19 将阿拉伯数字替换为中文大写形式... 20 替换文本中的URL为链接... 21 从HTML代码段删除指定标签极其内容... ...

    正则表达式经典实例

    3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在...

Global site tag (gtag.js) - Google Analytics