0

我是 FLASH 新手,我需要在表单中验证电子邮件地址。我的代码是:

validate_btn.onRelease = function() { 
     indexOfAt = email.text.indexOf("@"); 
     lastIndexOfDot = email.text.lastIndexOf("."); 
     if (indexOfAt !=-1 && lastIndexOfDot !=-1){ 
          if (lastIndexOfDot <indexOfAt) { 
               message.text="please verify your email."; 
          }else { 
               message.text="Your email seems okay"; 
          } 
     } else { 
          message.text="please enter correct email address"; 
     } 
}

似乎工作正常,唯一的问题是接受了关注电子邮件:myEmail@domain.有人@domain.com可以帮我解决它吗?考虑到它是 AS2,所以我不能使用 RegExp。

感谢并为我糟糕的英语感到抱歉。

4

2 回答 2

1

您还必须测试

indexOfAt>0

lastIndexOfDot<email.text.length-2

请注意,这是一个试用版,代码未经测试

validate_btn.onRelease = function() { 
     indexOfAt = email.text.indexOf("@"); 
     lastIndexOfDot = email.text.lastIndexOf("."); 
     if (indexOfAt>0 && lastIndexOfDot !=-1 && lastIndexOfDot<email.text.length-2){ 
          if (lastIndexOfDot <indexOfAt) { 
               message.text="please verify your email."; 
          }else { 
               message.text="Your email seems okay"; 
          } 
     } else { 
          message.text="please enter correct email address"; 
     } 
}
于 2012-12-05T11:42:35.643 回答
0

http://www.actionscript.org/forums/showthread.php3?t=77605据说有一种解决方案可以让正则表达式在 AS2 中工作

否则你可以试试

if (
    (emailString.indexOf("@") > 0) &&
    (emailString.lastIndexOf(".") > (emailString.indexOf("@") + 1)) &&
    (emailString.lastIndexOf(".")
){
    //valid(ish)
}
于 2012-12-05T15:28:05.463 回答