用于检查表单的textarea中的第一个单词的JavaScript

时间:2014-02-18 15:49:38

标签: javascript string forms replace

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

2 个答案:

答案 0 :(得分:1)

通过一些小的研究,您可以知道您的问题的答案是。 您的问题已经被多次询问和回答,因此对您的学习经验进行一些研究会更好。

如何?请阅读:

  1. developer.mozilla String/indexOf
  2. Javascript indexOf case insensitive

    //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'");            
    }
    
  3. 如果你有很多单词,那么你可以将它们全部放入数组中并循环遍历它并尝试查看用户的文本是否包含任何列入黑名单的单词。

答案 1 :(得分:1)

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

的文本
var s = document.getElementById('myTextBox').value;

一旦你有了这个,你可以通过多种方式检查它是否以“紧急”一词开头。一个例子是

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

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

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

这不是最佳做法,但它可以帮助您入门。

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