用于验证URL的Javascript

时间:2012-03-14 05:48:30

标签: javascript regex validation

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

例如:我只是想验证这部分:

(https/http/ftp://www.gmail.two letters here)

我之前提到了两封信,因为存在许多顶级域名,例如.cc,.me等。

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

(/((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/)

如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:0)

可以简单地使用:

((https?|ftp):\/\/)+([\w\d\.]+([\w]{2,6})?)

根据您的需要,您可以简单地使用或者过度使用。 :P

答案 1 :(得分:0)

   <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>