【问题标题】:Function; for loop or if statement?功能; for 循环还是 if 语句?
【发布时间】:2012-11-13 02:38:52
【问题描述】:
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"
    }
}

现在这个任务的重点是从输入的电子邮件地址返回用户名和域。我删除了其他函数和变量,以帮助更好地关注问题。

我需要先验证电子邮件地址。我需要确保有一个“@”和一个“。”在输入的字符串中,并以真或假返回值。真有弦,假没有弦。当我运行文件时,返回值总是假的。我不知道这是我在validEmail函数中的for循环还是在btnParseAddress_onclick函数中的if语句

【问题讨论】:

  • 这是什么语言?为什么不使用 emailAddress.indexOf('@') > 0?

标签: function loops if-statement for-loop


【解决方案1】:

您可以通过使用IndexOf 两次来避免for 循环:

if (emailAddress.IndexOf('.', emailAddress.IndexOf('@')+1) > 0) {
    Console.WriteLine("The e-mail address looks valid.");
}

【讨论】:

    猜你喜欢
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2019-06-09
    相关资源
    最近更新 更多