如何用js校验url地址?请问谁有好用的代码给我看一下谢谢各位拉!

解决方案 »

  1.   

    function isURL(argvalue) {
      if (argvalue.indexOf(" ") != -1)
        return false;
      else if (argvalue.indexOf("http://") == -1)
        return false;
      else if (argvalue == "http://")
        return false;
      else if (argvalue.indexOf("http://") > 0)
        return false;  argvalue = argvalue.substring(7, argvalue.length);
      if (argvalue.indexOf(".") == -1)
        return false;
      else if (argvalue.indexOf(".") == 0)
        return false;
      else if (argvalue.charAt(argvalue.length - 1) == ".")
        return false;  if (argvalue.indexOf("/") != -1) {
        argvalue = argvalue.substring(0, argvalue.indexOf("/"));
        if (argvalue.charAt(argvalue.length - 1) == ".")
          return false;
      }  if (argvalue.indexOf(":") != -1) {
        if (argvalue.indexOf(":") == (argvalue.length - 1))
          return false;
        else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
          return false;
        argvalue = argvalue.substring(0, argvalue.indexOf(":"));
        if (argvalue.charAt(argvalue.length - 1) == ".")
          return false;
      }
      return true;
    }
      

  2.   

    String.prototype.isUrl = function(){
    var url = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
    var tmpStr = this;
    return url.test(tmpStr);
    }上面这个是给String加了个isUrl的属性。调用:var a = "http://www.google.cn";
    if (a.isUrl()) {
      ...
    }
      

  3.   

    前几个都太复杂了,于是自己又写了一个:function isUrl(strTmp) {
    var url = /^\b((http|https):\/\/[^\n\r\<\>\'\s]*)/i;
    return url.test(strTmp);
    }
      

  4.   

    var reg = /^(http:\/\/)?(\w+\.)+\w+.*$/gi;
    alert(reg.test(url));