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

时间:2017-05-19 09:28:06

标签: actionscript-3

我有一个名为“textbox”的输入文本字段和一个名为“submit”的按钮。我还有两条文本消息“mc_error”和“form_submitted”,它们从一开始就不可见。单击按钮后,我希望它检查文本字段中是否包含“@”。我已经尝试了下面使用indexOf的代码,但它总是返回值-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天内工作。谢谢

1 个答案:

答案 0 :(得分:2)

因为你设置变量之前用户输入任何东西,它总是“”。只是不要使用该变量(或在函数体中读取它,如下所示),它会没问题。

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;
    }

}