//提取域名
function getSite(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
        + "$";
        var re=new RegExp(strRegex);
        var mts=re.match(str_url);
        if (mts){
         for(var i=0;i<mts.length;i++){
         alert('mts['+i+']的值为'+mts[i]);
         }
        }else{
           alert('匹配失败!');
        }
    }
帮忙啊~~~
大侠们,我试了半天,好长时间啊,快崩溃了啊~~~~
怎么样才可以提取出网站域名啊
这个函数哪里写错了啊???大侠们帮忙啊~~

解决方案 »

  1.   

    我要提取的不是本网页的地址,是他人输入的URL。
      

  2.   

    就是说在使用RegExp声明正则表达式时,要使用\\而不是\,\多用于文字量声明方式,即包括在//的内容
      

  3.   

    但是这个是正确的啊!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);
            if (re.test(str_url)){
                return (true);
            }else{
                return (false);
            }
        }
      

  4.   


    不好意思,现在才明白了你的意思了。
    不过如果网址开头是https呢?