2013-03-06 29 views
15

Tôi đang cố gắng viết mã jQuery để phát hiện xem chuỗi trực tiếp có chứa một tập hợp ký tự cụ thể không thì chuỗi cảnh báo cho tôi.jQuery phát hiện nếu chuỗi có chứa một cái gì đó

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()); 
}); 

nếu ví dụ tôi gõ như sau

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

Mã của tôi nên an ủi log cảnh báo cho tôi rằng có> < có trong chuỗi.

+0

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

+0

gì đặc biệt bạn đang cố gắng để làm gì? Các câu trả lời dưới đây thực hiện chính xác những gì bạn yêu cầu, nhưng có thể có một cách tốt hơn để đi tùy thuộc vào những gì bạn đang cố gắng đạt được. – qwerty

+0

Sử dụng chỉ mụcOf nó sẽ nhanh hơn cũng – Peeyush

Trả lời

32

Bạn có thể sử dụng String.prototype.indexOf để thực hiện điều đó. Hãy thử một cái gì đó như thế này:

$('.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

Bạn nhận được giá trị của textarea, sử dụng nó:

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

sử dụng Có của jquery Contains như thế này

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

Bạn có thể sử dụng chức năng indexOf javascript của.

var str1 = "ABCDEFGHIJKLMNOP"; 
var str2 = "DEFG"; 
if(str1.indexOf(str2) != -1){ 
    alert(str2 + " found"); 
} 
Các vấn đề liên quan