2016-04-06 14 views
1

テキストエリアのURLの投稿を制限する必要があります。このためjQuery:コンテンツにURLがあるかどうかを確認する方法

は、私がコードを使用:

var url_act = jQuery("#area").val(); 
    var matches = url_act.match(/http:/); 

    if (matches) 
    { 
     alert('You didn\'t have permission to post any url'); 
     return false; 
    } 

をしかし、コンテンツがどのhttps:またはURLを持っている場合は制限されないwww.で始まります。

コンテンツにURL形式があるかどうかを制限する方法はありますか? URLが大文字である場合は機能しません。

これを行う方法はありますか?

+1

を助けるべきhttp://stackoverflow.com/questions/3809401/what -is-a-good-regular-expression-to-match-a-url – Shiva

答えて

4
はあなたに正規表現を変更し

var matches = url_act.match(/https?:|\bwww\./i); 

i修飾子は、大文字と小文字を区別しないマッチングを行うのに役立ちます。

+0

ありがとうございました。そのうまく動作します。 2つまたは3つの特定のドメインを制限したい場合、どのようにコードを変更するのですか?つまり、youtubeとsoundcloudからURLを制限したい場合です。もしそうなら、これを行う方法。 –

+1

シンプル、 'url.match(/^https:\/\/www \。(サウンドクラウド| youtube)\ .com \ b/i); ' –

+0

もう一度お願いします。私たちがこのyoutubeまたはsoundcloud以外にこれを変更する方法を制限したい場合。つまり、YouTubeやサウンドクラウドのURLを使って生のコンテンツやコンテンツを投稿することができます。しかし、Googleやvimoeoなどの他のドメインのコンテンツを投稿する場合、これをどのように制限するか。 –

0

私は完全にあなたの質問を理解していなかったが、これは

Link to fiddle

$(document).ready(function() { 
 
    $('#check').click(function() { 
 
    var content = $('#myText').val(); 
 
    var pattern = new RegExp("http:"); 
 
    var result = ''; 
 

 
    result = pattern.test(content) ? 'Invalid' : 'valid'; 
 
    alert(result); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 
<textarea id="myText" rows="10" cols="50"></textarea> 
 
<br> 
 
<button id="check"> 
 
    Check 
 
</button>

関連する問題