2013-03-06 16 views
15

Canlı bir dizenin belirli bir karakter kümesini içerip içermediğini algılamak için jQuery kodu yazmaya çalışıyorum, bu durumda dize beni uyarır.jQuery, bir şey içerip içermediğini algılar

HTML

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

My jQuery

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

örneğin aşağıdaki

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

Kodum beni uyarmak log teselli gerektiğini yazmış orada>olduğunudizede mevcut.

+0

http://stackoverflow.com/questions/4444477/how-to-tell-if-a-string-contains-a-certain-character-in-javascript – topcat3

+0

özellikle Ne yapmaya çalışıyorsun? Aşağıdaki cevaplar tam olarak istediğiniz şeyi yapar, ancak elde etmeye çalıştığınız şeye bağlı olarak daha iyi bir yol olabilir. – qwerty

+0

Use indexOf daha hızlı olacak – Peeyush

cevap

32

gibi jquery Contains arasında içerir. Böyle bir şey deneyin: JavaScript en indexOf işlevini kullanabilirsiniz

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

5

Sen textarea değerini almak, kullanmak:

$('.type').keyup(function() { 
    var v = $('.type').val(); // you'd better use this.value here 
    if (v.indexOf('> <')!=-1) { 
     console.log('contains > <');   
    } 
}); 
2

kullanımı Bunu başarmak için String.prototype.indexOf kullanabilirsiniz bu

if ($('.type:contains("> <")').length > 0) 
{ 
//do stuffs to change 
} 
5

.

var str1 = "ABCDEFGHIJKLMNOP"; 
var str2 = "DEFG"; 
if(str1.indexOf(str2) != -1){ 
    alert(str2 + " found"); 
} 
İlgili konular