/^ftp:\/\/dospyftp:@((?:2[0-5]{2}|1\d{2}|[1-9]\d|[1-9])\.(?:(?:2[0-5]{2}|1\d{2}|[1-9]\d|\d)\.){2}(?:2[0-5]{2}|1\d{2}|[1-9]\d|\d))/
解决方案 »
- js怎样 删除不需要的对象?
- ajax未定义
- 麻烦你们回答我一个简单的问题,JAVASRIPT语法:Response.Redirect("7-33.asp");改用VBSCRIPT该怎么写呢?
- 问一下EXtJs 布局的问题
- 用JS写了一个小时钟(有时针,分针,秒针那种)直接COPY就可以用
- 关闭窗口问题!急....
- 如何判断文本输入框中鼠标焦点(闪烁光标)的位置?
- 求一段有关FRAME的JAVASCRIPT代码
- 将值传递到表单的问题??????
- EXTJS中出现下面错误,并且如何定义一个substring 属性,在线急等。。。
- 100分 web文本编辑器多个内容版本保存的问题!!难!
- 根据radio不同选定触发事件使一个文本框是否显示
多谢赐教啊
拜托了啊
试试!
我是想要一个匹配URL的正则表达式,
而不是仅仅匹配上面的那个FTP地址就可以了
而是可以匹配大多数的URL当然包括上面的这个FTP地址的JS正则表达式啊
这个是我本来用的URL匹配的正则表达式,但是这个FTP的URL:
ftp://dospyftp:@218.752.114.30/
匹配不了
希望楼上大哥修改一下能匹配如上这个地址
小弟这方面能力有限
多谢了!~~~~
<scheme name>://[userinfo@]host[:port][/<path>[?<query>][#<fragment>]]其中:
[scheme name]
模式名. 可理解为协议名称, 如 http/ftp. [userinfo]
登录信息. 格式:
<username>[:<password>][query]
查询字符串, 由以 & 或 ; 分隔的二元组构成. 每个二元组的格式为:
<name>=<value>[fragment]
片段标识. 对于 HTML 文档来说就是书签 (锚定点 anchor). ===
可以根据这个格式来设计RE. 但不是所有的URL都遵循以上结构.
如 mailto: [email protected] 就不同于以上格式. 如果需要实现通用的URL解析, 可以首先匹配scheme, 然后根据不同的scheme使用不同的RE来匹配.
var re = /(.*?):\/\/(?:(.*?)(?::(.*?))@)(.*?)(?::(\d+))(?:(\/.*?)(?:\?(.*?))(?:#(.*?)))$/;=====
另外,查阅维基百科后更正上一帖子:
{query}
查询字符串的格式没有标准规定.
但通常是由以‘&’分隔的 <name>=<value> 二元组. (之前我说用‘&’或‘;’分隔是不对的。){path}
path是以‘/’分隔的若干节, 其中每一节可以带有参数,
参数部分是由‘;’开始的。如:
/dir;param=1/subdir;param=2/file.txt;param=3这里的参数,语法与查询字符串类似,但它们属于URL的不同部分。
path的每一节都可以有参数,而查询字符串在URL中只出现一次。
=====
上面给出的RE暂没有分析path中的参数,
也没有把query中的每一对name和value匹配出来。
摆脱这位仁兄再帮帮忙啊
十分感谢啊!~~~~~~
我再看看。
似乎可以了。匹配结果:1 ftp
2 dospyftp
3
4 218.752.114.30
5
6 /
7
8 其中 1-scheme, 2-username, 3-userpassword, 4-host, 5-port, 6-path, 7-query, 8-fragment
二级域名,域名中的文件,域名加上端口。<script language="JavaScript">
<!--
function IsURL(str_url){
var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re=new RegExp(strRegex);
//re.test()
if (re.test(str_url)){
return (true);
}else{
return (false);
}
}
-->
</script>