2012-03-14 15 views
1

ユーザーがURLを入力するテキストボックスがあり、このURLを検証する必要があります。例えばJavascript to validate URL

:私はこの部分のみを検証しようとしている:

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

多くのTLDが、私はこれを試してみましたなどの.cc、.ME、として

が存在するので、私はそこに2つの文字を述べました正規表現は動作しませんでした:

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

私が間違っている場合私を修正してください。

+0

あなたの現在の状況を教えてください。 –

+0

キャプチャで何をしようとしていますか?何がうまくいかなかったのですか?あなたの失敗の例は何でしたか? – vol7ron

+0

@Austin Brunkhorst:私はすでに私の質問でそれを追加しました。 –

答えて

0

は、単に使用することができます

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

あなたの必要性が何であるかに応じて、シンプルさとかと...やり過ぎて行くことができます。 :p

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

:googleのような単語を試してみてください。それはvalid.Itには(http:// www。)必要があります。これは有効であるとも言えます(httpwww.test.co)。空のワイトドをチェックするための正規表現は何ですか –

+0

@ user1263374最後のバージョンは第2レベルのドメインをサポートしていたので、あなたが把握しているバグが存在します。これは、ほとんどすべての基本パターンに対応できる最もシンプルなバージョンです。 – shenhengbin

+0

:これを試してみてください。それは本当です(http://www.stackoverflow。) –