Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中匹配http的正则表达式_Javascript_Regex - Fatal编程技术网

javascript中匹配http的正则表达式

javascript中匹配http的正则表达式,javascript,regex,Javascript,Regex,我正在尝试编写一个正则表达式,以便在以下情况下返回true: http://anything http:///anything(它可以有任意数量的“/”) 但是,对于以下情况,它应该返回false: http:// http:/ http: http htt ht h http://(它可以有任意数量的“/”) 我尝试了以下方法,但在某些情况下失败了。谁能给点建议吗 (/^(f|ht)tps?:\/\//i.test(jQuery("base").attr("href") 您可以使用此正则表达

我正在尝试编写一个正则表达式,以便在以下情况下返回true:

  • http://anything
  • http:///anything
    (它可以有任意数量的“/”)
  • 但是,对于以下情况,它应该返回false:

  • http://
  • http:/
  • http:
  • http
  • htt
  • ht
  • h
  • http://
    (它可以有任意数量的“/”)
  • 我尝试了以下方法,但在某些情况下失败了。谁能给点建议吗

    (/^(f|ht)tps?:\/\//i.test(jQuery("base").attr("href")
    

    您可以使用此正则表达式:

    ^(?:f|ht)tps?:\/{2,}[^\/].*
    
    • \/{2,}
      将匹配输入中的2个或更多
      /

    • [^\/].
      \/{2]之后,}
      将确保输入不会以
      http://
      https://
      结尾


    您可以使用此正则表达式:

    ^(?:f|ht)tps?:\/{2,}[^\/].*
    
    • \/{2,}
      将匹配输入中的2个或更多
      /

    • [^\/].
      \/{2]之后,}
      将确保输入不会以
      http://
      https://
      结尾

    var input=document.getElementById(“输入”);
    var output=document.getElementById(“输出”);
    var re=new RegExp(“http://+[^/\\s][^\\s]*”,“g”);
    //测试单个do
    //重新测试(字符串)
    output.innerHTML=input.innerHTML.match(re.join)(“\n”)
    
    #输出{
    背景色:#EEF5F9;
    填充:10px;
    }
    氢{
    保证金:0;
    填充:0;
    字号:中等;
    字体系列:无衬线;
    }
    前{
    保证金:0;
    填充:0 10px 0 0;
    }
    输入
    http://foo
    http:///bar
    http://foo-bar/baz
    http://
    http:/
    http:
    http
    htt
    ht
    H
    http://(可以有任意数量的“/”)
    匹配
    
    var input=document.getElementById(“输入”);
    var output=document.getElementById(“输出”);
    var re=new RegExp(“http://+[^/\\s][^\\s]*”,“g”);
    //测试单个do
    //重新测试(字符串)
    output.innerHTML=input.innerHTML.match(re.join)(“\n”)
    
    #输出{
    背景色:#EEF5F9;
    填充:10px;
    }
    氢{
    保证金:0;
    填充:0;
    字号:中等;
    字体系列:无衬线;
    }
    前{
    保证金:0;
    填充:0 10px 0 0;
    }
    输入
    http://foo
    http:///bar
    http://foo-bar/baz
    http://
    http:/
    http:
    http
    htt
    ht
    H
    http://(可以有任意数量的“/”)
    匹配
    
    你说得对。检查我的更新答案和演示链接。非常感谢!!!工作就像一个魅力和感谢的解释,更好地理解!!!你说得对。检查我的更新答案和演示链接。非常感谢!!!工作就像一个魅力和感谢的解释,更好地理解!!!