jQuery - 在textarea中查找文本

时间:2015-08-30 09:16:55

标签: javascript jquery html indexof

我想为textarea编写一个验证来防止输入一些单词,例如,如果你在textarea上输入Viber它将删除它然后提醒,我的问题是这个代码只有在你输入viber时才有效!如果你输入ex:我喜欢Viber,它不起作用,我想在textarea找到viber并删除它,第二个问题是我想用小写和大写的所有类型的文本,VIBER,viber ,Viber,ViBeR等......我可以这样做吗?

$('textarea').keyup(function() {
  var val = this.value;
  var my = $(this).val();
  if ( val.indexOf('viber') == 0 ) {
 $(this).val($(this).val().split(my).join(""));
      alert("viber not allowed");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<textarea></textarea>

JSFiddle

2 个答案:

答案 0 :(得分:3)

String.indexOf

并注意void MainWindow::on_lineEdit_textChanged(const QString &arg1) { QString Vulgarisms[] = {"k****", "c****", "p******", "d*******", "j*******"}; // there is 5 QStrings in the array for(int i = 0; i < 5; i++) { if((arg1.toLower() == Vulgars[i]) ui->statusBar->showMessage("What is wrong with you?"); else ui->statusBar->showMessage(""); } } - 它返回第一个匹配的索引,如果它没有找到任何内容,则返回-1。在你的情况下,你要检查零 - 这是错误的,因为零意味着它在字符串的开头发现了第一次出现。

答案 1 :(得分:1)

  $('textarea').keyup(function() {
  var val = this.value.toLowerCase();
  var my = $(this).val();
  if ( val.indexOf('viber') != -1 ) {
 $(this).val($(this).val().split(my).join(""));
      alert("viber not allowed");
  }
});

http://jsfiddle.net/0g5kxbbh/2/