1
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 で値を返します。True は文字列を持ち、False は文字列を持たない。ファイルを実行すると、戻り値は常に false です。validEmail 関数の for ループなのか、btnParseAddress_onclick 関数の if ステートメントなのかわかりません

4

1 に答える 1

1

2回for使用することでループを回避できます:IndexOf

if (emailAddress.IndexOf('.', emailAddress.IndexOf('@')+1) > 0) {
    Console.WriteLine("The e-mail address looks valid.");
}
于 2012-11-13T02:43:48.743 に答える