输入特定值时发出警报

Alert on inputting a particular Value

本文关键字:输入      更新时间:2023-09-26

如果用户输入了特定值(%或*),我想显示一条错误/警报消息。如果用户只输入%或*并点击"提交",则警报或消息应显示"这是不允许的"。但是,应允许SM%TH或*MITH。

HTML

<input type="text" name="ANSWER.TTQ.MENSYS.3." id="ANSWER.TTQ.MENSYS.3." value="" class="forminfree">
<input type="submit" name="ANSWER.TTQ.MENSYS.7." id="ANSWER.TTQ.MENSYS.7." value="Search" class="formsubfree" style="width:100px" onclick="searchCheck()">

脚本

function searchCheck(){
}

一如既往,我们将非常感谢您的帮助。

试试这个:

function searchCheck(){
     var answer = $.trim($(this).find('input[type=text]').val());
     if(answer == '*' || answer == '%') alert('this is not allowed');
}

访问带有句点(.)的ID时可能出现问题。为了避免这种情况,必须以这种方式使用$('#ANSWER''.TTQ''.MENSYS''.3''.')

  function searchCheck(){
         var answer = $.trim($('#ANSWER''.TTQ''.MENSYS''.3''.').val());
         if(answer == '*' || answer == '%') alert('this is not allowed');
    }

此处演示:http://jsfiddle.net/Kk8GC/

首先获取值。使用jQuery:

var str = $("#ANSWER.TTQ.MENSYS.3.").val();

有KY没有jQuery:

var elem = document.getElementById("ANSWER.TTQ.MENSYS.3.");
var str = elem.value;

现在你只需看看:

str = str.trim();
if (str == "*" || str == "%") {
    alert("This is not allowed. Get off my system!");
}

在字符串上爬行,检查前面的*或%,然后停止后面的**或%*而不是%%。

function searchCheck(){
var pos=0;
var error=false;
var prior=false;
while(pos<your_string.length && !error){
  if(prior){
    if(your_string.charAt(pos) == '*'){
      error = true;
    } else if(your_string.charAt(pos) != '%') prior = false;
  } else { 
    if(your_string.charAt(pos) == '%' || your_string.charAt(pos) == '*')
      prior = true;   
  }
  pos++;
}
if(error || (your_string.length==1 && prior)){
    alert("not allowed");
}
}