如何检查文本框是否包含特定字符串?

How to check if a textbox contains a specific string or not?

我有一个名为 "textbox" 的输入文本字段和一个名为 "submit" 的按钮。我还有两条文本消息 "mc_error" 和 "form_submitted" 从一开始就不可见.单击按钮后,我希望它检查文本字段中是否包含“@”。我已经尝试了下面使用 indexOf 的代码,但它总是 returns 值 -1 因此在执行时总是 "mc_error" 变得可见。

var str:String = textbox.text;
submit.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
mc_error.visible = false;
form_submitted.visible = false;

function fl_MouseClickHandler(event:MouseEvent):void
{
  var index:int = str.indexOf("@");
  if(index == -1)
  {
      mc_error.visible=true;
  }
  else
  {
      form_submitted.visible=true;
  }

}

如果能立即得到一些答案,我将不胜感激,因为我需要它在 2 days.Thanks

因为您在 之前设置变量 用户在那里输入任何内容,并且它始终为“”。只是不要使用该变量(或如下所示在函数体中读取它)就可以了。

function fl_MouseClickHandler(event:MouseEvent):void
{
    var str:String = textbox.text;
    var index:int = str.indexOf("@");

    if(index == -1)
    {
        mc_error.visible=true;
    }
    else
    {
        form_submitted.visible=true;
    }

}