验证URL的Javascript

验证URL的Javascript,javascript,regex,validation,Javascript,Regex,Validation,我有一个文本框,用户将在其中输入URL,我需要验证此URL 例如:我只是尝试验证此部分: (https/http/ftp://www.gmail.two letters here) 我提到了两个字母,因为存在许多TLD,如.cc、.me等 我尝试了这个不起作用的正则表达式: (/((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/) 如果我错了,请纠正我。只需使用: ((ht

我有一个文本框,用户将在其中输入URL,我需要验证此URL

例如:我只是尝试验证此部分:

(https/http/ftp://www.gmail.two letters here)
我提到了两个字母,因为存在许多TLD,如.cc、.me等

我尝试了这个不起作用的正则表达式:

(/((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/)
如果我错了,请纠正我。

只需使用:

((https?|ftp):\/\/)+([\w\d\.]+([\w]{2,6})?)
根据您的需要,您可以选择简单或。。。矫枉过正p


   <html>
        <div>
            <ul>
                <li>http://www.stackoverflow.com</li>
                <li>httpwww.stackoverflow.com</li>
                <li>a.b.c</li>
            </ul>
        </div>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script type="text/javascript">
        function IsURL(str_url){  

        var strRegex = "[a-zA-z]+://[^\s]*";  
              var re=new RegExp(strRegex);  
              if (re.test(str_url)){  
                  return (true);  
              }else{  
                  return (false);  
              }  
          }  
    $(document).ready(function(){  
        $("li").click(function(){  
            var url=$(this).text();  
                alert(url+" /n IsURL:"+IsURL(url));  
            });  
        });  
    </script>
    </html>
  • http://www.stackoverflow.com
  • httpwww.stackoverflow.com
  • a、 不列颠哥伦比亚省
函数IsURL(str_url){ var stregex=“[a-zA-z]+://[^\s]*”; var re=新的RegExp(stregex); 如果(重新测试(str_url)){ 返回(真); }否则{ 返回(假); } } $(文档).ready(函数(){ $(“li”)。单击(函数(){ var url=$(this.text(); 警报(url+”/n IsURL:“+IsURL(url)); }); });
你能告诉我们你现在有什么吗?你想用这些捕获做什么?什么不起作用?你失败的例子是什么?@Austin Brunkhorst:我已经在我的问题中添加了这个。你所拥有的,我指的是regex与文本匹配的实际Javascript。你可能走错路了:试一下像谷歌这样的词,它会说它是有效的。它应该有(它说这是有效的)(httpwww.test.co).检查空的正则表达式是什么vaidation@user1263374上一个版本是在二级域中支持的,因此存在您发现的错误。这是最简单的版本,可以适用于几乎所有基本模式。