function validEmail (emailAddress)
{
for (var index=0; index < emailAddress.length; index++)
{
if ( emailAddress[index] == "@")
{
for (var count=0; count <emailAddress.length; count++)
{
if (emailAddress[count] == ".")
{
return true;
}
}
}
else
{
return false;
}
}
}
function btnParseAddress_onclick()
{
var emailAddress = addressTextbox.value;
var userName = emailUsername(emailAddress);
var domain = emailDomain (emailAddress);
var valid = validEmail (emailAddress);
if (valid)
{
outputTextbox.value = "Username:" + userName + "\nDomain:" + domain
}
else
{
outputTextbox.value = "Invalid Email Address"
}
}
现在,此任务的目的是从输入的电子邮件地址返回用户名和域名。我删除了其他功能和变量,以帮助更好地关注问题。
我需要先验证电子邮件地址。我需要确保有一个“@”和一个“。”在输入的字符串中,返回值为true或false。确实有字符串而错误没有字符串。当我运行该文件时,返回值始终为false。我无法弄清楚它是在validEmail函数中的for循环还是在btnParseAddress_onclick函数中的if语句
答案 0 :(得分:1)
您可以使用for
两次来避免IndexOf
循环:
if (emailAddress.IndexOf('.', emailAddress.IndexOf('@')+1) > 0) {
Console.WriteLine("The e-mail address looks valid.");
}