- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
bool IsEmailValid(string email)
{
if (email == "")
return false;
if (!sEmail.Contains("@") || !sEmail.Contains("."))
return false;
return true;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−15
bool IsEmailValid(string email)
{
if (email == "")
return false;
if (!sEmail.Contains("@") || !sEmail.Contains("."))
return false;
return true;
}
И так сойдет! (с)
guest 14.02.2017 16:46 # 0
bool Valid {get;}
}
interface IUser : IValidatable {
string Username {get;}
}
interface IDomain :IValidatable {
Uri Uri {get;}
}
interface IEmail : IValidatable {
IUser User {get;}
IDomain Domain {get;}
}
guest 14.02.2017 16:58 # +1
lichutor 14.02.2017 17:23 # 0
inkanus-gray 14.02.2017 17:36 # +6
guest 14.02.2017 18:14 # 0
inkanus-gray 14.02.2017 18:27 # +1
bormand 14.02.2017 18:31 # +1
guest, видимо, не о сайте, где юзеры сами регаются, а о софтинах, где емейл вбивают в какую-нибудь формочку.
inkanus-gray 14.02.2017 18:38 # +3
1. Доменная часть закодирована в Punycode (xn--что-то-там). Тогда проверяем, можно ли такую строку раскодировать.
2. Доменная часть не закодирована. В этом случае она может содержать чуть ли не любые юникодные символы (список разрешённых символов зависит от политики домена предыдущего уровня). Т. е. проверять толком нечего.
Есть ли символы, которые принципиально запрещены для доменов?
*****
А часть, которая до @, мы и проверить не можем, ибо она является «locally interpreted string», т. е. может содержать почти любые символы.
lichutor 14.02.2017 18:14 # +1
inkanus-gray 14.02.2017 18:29 # +2
dm_fomenok 14.02.2017 18:34 # 0
cykablyad 14.02.2017 18:37 # +10
guestinho 14.02.2017 19:08 # −2
Her 14.02.2017 21:25 # 0
lichutor 15.02.2017 01:09 # 0
Fike 15.02.2017 02:11 # +2
bormand 15.02.2017 06:12 # 0
kegdan 15.02.2017 07:05 # +2
guest 17.02.2017 13:21 # 0