关于字符串:用于检查表单的文本区域中的第一个单词的JavaScript

JavaScript to check first word in a textarea of a form

是否可以使用javascript(或任何其他语言,如果不是)检测用户是否在文本字段中输入了单词URGENT(任何情况)或*URGENT*)作为第一个单词?如果是这样的话,我可以让表单在提交时或者当他们输入消息时弹出一条消息,礼貌地要求他们不要用这个来开始他们的呼叫吗?如果他们把这个词放在其他任何地方,那么这很好,只是在开始的时候我们不想要它。谢谢您。


首先,您需要从文本框中获取文本

1
var s = document.getElementById('myTextBox').value;

一旦你有了它,有很多方法可以检查它是否以"紧急"一词开头。一个例子是

1
var containsUrgent = s.substr(0, 6).toUpperCase() === 'URGENT';

完成后,在屏幕上显示消息的最简单方法是

1
alert('The string in the textbox starts with URGENT');

这不是一个最佳实践,但它应该帮助您开始。

如果要在用户键入或提交表单时提醒消息,可以将代码附加到submitkeypress事件。


通过一些小的研究,你可以知道你的问题的答案是肯定的。你的问题已经被问过和回答过很多次了,因此你的学习经验最好对它做一些研究。

怎样?请阅读:

  • developer.mozilla字符串/indexof
  • 不区分大小写的javascript索引

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //first step, catch the text that user has entered from an input with the id someTextField
    var str1 =document.getElementById("someTextField").value;
    //assign some values to search for, words listed here will trigger the alert.
    var wordsToFind = ["urgent","*urgent*"];
    //for now, we will take the user's input, str1, and convert it to lower case, then try to check if the first word (indexOf)the words to find is 0. 0 means at the beginning of the text.
      //find first word in array
     if (str1.toLowerCase().indexOf(wordsToFind[0]) === 0
           //find second word in array by adding OR ||
         || str1.toLowerCase().indexOf(wordsToFind[1]) === 0) {      
        //display a message to inform the user.  
        alert("Kindly you can not start a message with the word 'urgent'");            
    }
  • 如果你有许多单词,那么你可以把它们全部放到数组中,并循环遍历它,然后尝试看看用户的文本是否包含任何黑名单中的单词。