2013-03-06 19 views
15

Próbuję napisać kod jQuery, aby wykryć, czy ciąg na żywo zawiera określony zestaw znaków, a ciąg alertów mnie.jQuery wykryć, czy ciąg zawiera coś

HTML

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

Moje Jquery

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

jeśli na przykład Wpisałem następujące

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

Moje kod powinien pocieszyć log powiadomić mnie, że tam> < obecny w ciągu.

+0

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

+0

Co konkretnie pan chce zrobić? Poniższe odpowiedzi robią dokładnie to, o co prosisz, ale może istnieć lepszy sposób postępowania w zależności od tego, co próbujesz osiągnąć. – qwerty

+0

Użyj indexOf, że będzie szybszy również – Peeyush

Odpowiedz

32

String.prototype.indexOf można użyć, aby to osiągnąć. Spróbuj czegoś takiego:

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

uzyskać wartość pola tekstowego, użyj go:

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

Zastosowanie Zawiera jQuery Contains jak ten

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

Można użyć funkcji JavaScript za IndexOf.

var str1 = "ABCDEFGHIJKLMNOP"; 
var str2 = "DEFG"; 
if(str1.indexOf(str2) != -1){ 
    alert(str2 + " found"); 
} 
Powiązane problemy