FLASH AS2 - 电子邮件验证的小问题

时间:2012-12-05 11:31:28

标签: flash email validation actionscript-2

我是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。

谢谢,抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

你还必须测试

indexOfAt>0

lastIndexOfDot<email.text.length-2

请注意,这是一个试用版,代码 UNTESTED

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

答案 1 :(得分:0)

http://www.actionscript.org/forums/showthread.php3?t=77605这里有一个解决方案可以在AS2中使用正则表达式

否则你可以尝试

if (
    (emailString.indexOf("@") > 0) &&
    (emailString.lastIndexOf(".") > (emailString.indexOf("@") + 1)) &&
    (emailString.lastIndexOf(".")
){
    //valid(ish)
}