我正在構建一個電子郵件驗證程式。
如何檢查我的電子郵件是否在@ 前有 3 個字母,在“.”后有 2 個字母。我試過了,else if但沒有用。
string rightPassword = "[email protected]";
string enter = Console.ReadLine();
string red = rightPassword.Substring(0, 3);
string to = rightPassword.Substring(8);
int lengthRed = red.Length;
int lengthTo = to.Length;
do
{
Console.Write("Write the E-Mail: ");
enter = Console.ReadLine();
if (rightPassword == enter)
{
Console.WriteLine("Right Password");
}
else if (lengthRed < 3 ) // I have to check if it has 3 letters before the @//
{
Console.WriteLine("You need 3 letters before the @")
}
else if (lengthTo < 2)
{
Console.WriteLine("You need 2 letter after the ".")
}
} while (enter != "enter");
uj5u.com熱心網友回復:
只需使用
代碼示例:
string email = "[email protected]";
Regex regex = new Regex(@"^\w{3}@\w .\w{2}$");
Match match = regex.Match(email);
if(match.Success)
Console.WriteLine("Email matches pattern");
else Console.WriteLine("Email does not matches pattern");
uj5u.com熱心網友回復:
如果您不想使用正則運算式,即使非常鼓勵,您也可以添加一個方法:
public static bool HasValidUsername(string email)
{
for (int i = 0; i < 3; i )
{
if (!email[i].IsLetter())
{
return false;
}
}
return true;
}
并在您的代碼中使用該方法:
else if (!HasValidUsername(enter))
{
Console.WriteLine("You need 3 letters before the @");
}
但請記住,上面的示例不會驗證數字或符號。您可以使用email[i].IsSymbol()或email[i].IsNumber()來檢查它。
注意:
x@com是域注冊商的有效電子郵件地址。也就是說,他們中的大多數人為他們的電子郵件使用子域。[email protected]例如。處理所有現實世界的電子郵件案例并不像看起來那么簡單。
uj5u.com熱心網友回復:
使用Char.IsLetter()方法
public bool IsValidEmail(string email)
{
return email.Length > 2 Char.IsLetter(str[0]) && Char.IsLetter(str[1]) && Char.IsLetter(str[2]);
}
uj5u.com熱心網友回復:
您也可以使用拆分。
就像是
string red = rightPassword.Split('@')[0];
string to = rightPassword.Split('.').Last();
如果您使用,您還可以檢查“@”后面的內容
string red = rightPassword.Split('@')[0];
string gmx= rightPassword.Split('@')[1];
string to = rightPassword.Split('.').Last();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/397575.html
上一篇:對于帶有宣告的if陳述句,是否應該將returnerr放入else中,或者避免這種風格并在Golang中縮小return?
