/^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))/ 

解决方案 »

  1.   

    美女啊,我想要一个判断URL比较全面的正则表达式,并且这个表达式可以匹配如上的那个URL,而不是仅仅要一个只匹配如上的那个URL就可以的了啊
    多谢赐教啊
    拜托了啊
      

  2.   

    var reg = /ftp\:\/\/[^:]*:@([^\/]*)/g;
    试试!
      

  3.   

    晕,楼上的这么大哥还是误解了我的意思啊
    我是想要一个匹配URL的正则表达式,
    而不是仅仅匹配上面的那个FTP地址就可以了
    而是可以匹配大多数的URL当然包括上面的这个FTP地址的JS正则表达式啊
      

  4.   

    知道匹配的url有什么规则吗?正则也是按照规则来的阿
      

  5.   

    既然是URL当然匹配的就是网上大多数的URL啊!~
      

  6.   

    var url_reg = /^((http(s)?|ftp|telnet|news|rtsp|mms):\/\/)?(((\w(\-*\w)*\.)+[a-zA-Z]{2,4})|(((1\d\d|2([0-4]\d|5[0-5])|[1-9]\d|\d).){3}(1\d\d|2([0-4]\d|5[0-5])|[1-9]\d|\d).?))(:\d{0,5})?(\/+.*)*$/;
    这个是我本来用的URL匹配的正则表达式,但是这个FTP的URL:
    ftp://dospyftp:@218.752.114.30/
    匹配不了
    希望楼上大哥修改一下能匹配如上这个地址
    小弟这方面能力有限
    多谢了!~~~~
      

  7.   

    我们平时遇到的绝大多数URL遵循这个格式: 
    <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来匹配. 
      

  8.   

    搞定基本代码:
    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匹配出来。
      

  9.   

    非常感谢楼上仁兄的赐教,但是你给出的正则表达式还是不能匹配我给出的那个FTP的URL啊
    摆脱这位仁兄再帮帮忙啊
    十分感谢啊!~~~~~~
      

  10.   

    我拿W3C上面几个URL例子试了试,忘了拿你给的那个试了 - -|||
    我再看看。
      

  11.   

    var re = /(.*?):\/\/(?:([^:@]+)(?::([^@]*))?@)?([^:@\/]+)(?::(\d+))?(?:(\/.*?)(?:\?(.*?))?(?:#(.*?))?)$/;
    似乎可以了。匹配结果: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
      

  12.   

    它验证的情况包括:IP,域名(domain),ftp
    二级域名,域名中的文件,域名加上端口。<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>
      

  13.   

    要判断www.baidu.com这样格式的正则表达式要怎样写的哇。