我正在尝试编写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>
我的代码应该控制日志警告我那里&gt; &LT;出现在字符串中。
答案 0 :(得分:33)
您可以使用String.prototype.indexOf
来实现这一目标。尝试这样的事情:
$('.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>
答案 1 :(得分:7)
您获得textarea的值,使用它:
$('.type').keyup(function() {
var v = $('.type').val(); // you'd better use this.value here
if (v.indexOf('> <')!=-1) {
console.log('contains > <');
}
});
答案 2 :(得分:5)
您可以使用javascript的indexOf函数。
var str1 = "ABCDEFGHIJKLMNOP";
var str2 = "DEFG";
if(str1.indexOf(str2) != -1){
alert(str2 + " found");
}
答案 3 :(得分:2)
使用包含jquery Contains 像这样
if ($('.type:contains("> <")').length > 0)
{
//do stuffs to change
}