20

ライブ文字列に特定の文字セットが含まれているかどうかを検出するjQueryコードを作成しようとしています。文字列は私に警告します。

HTML

<textarea class="type"></textarea>

私のJquery

$('.type').keyup(function() {
    var v = $('.type').val();
    if ($('.type').is(":contains('> <')")){
        console.log('contains > <');        
    }
    console.log($('.type').val());
});

たとえば、次のように入力した場合

> <a href="http://google.com">Google</a> <a href="http://yahoo.com">Yahoo</a>

私のコードはコンソール ログに、文字列に > < が存在することを警告するはずです。

4

4 に答える 4

36

String.prototype.indexOfそれを達成するために使用できます。次のようなことを試してください:

$('.type').keyup(function() {
  var v = $(this).val();
  if (v.indexOf('> <') !== -1) {
    console.log('contains > <');
  }
  console.log(v);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea class="type"></textarea>

アップデート

最新のブラウザにもString.prototype.includesメソッドがあります。

于 2013-03-06T11:25:30.717 に答える
7

テキストエリアの値を取得し、それを使用します:

$('.type').keyup(function() {
    var v = $('.type').val(); // you'd better use this.value here
    if (v.indexOf('> <')!=-1) {
       console.log('contains > <');        
    }
});
于 2013-03-06T11:22:38.503 に答える
7

JavaScript の indexOf 関数を使用できます。

var str1 = "ABCDEFGHIJKLMNOP";
var str2 = "DEFG";
if(str1.indexOf(str2) != -1){
   alert(str2 + " found");
}
于 2013-03-06T11:26:23.173 に答える
2

次のようなjqueryのContainsを使用します

if ($('.type:contains("> <")').length > 0)
{
 //do stuffs to change 
}
于 2013-03-06T11:24:48.863 に答える