黑马程序员技术交流社区
标题:
如何验证email是否正确
[打印本页]
作者:
郑志强
时间:
2013-3-14 15:01
标题:
如何验证email是否正确
本帖最后由 郑志强 于 2013-3-14 19:02 编辑
用控制台怎么写?
判断 是否合法。返回BOOL值。 没思路呀。
不用正则表达式
作者:
王毅
时间:
2013-3-14 16:17
你可以把验证EMAIL是否正确的代码写成一个方法 返回值是bool类型。
如果验证的email 是正确的 那么你可以返回一个bool值 为true
判断emal是否合法,可以调用string类的.split()方法 分割字符串 。
很简单的,你可以试一下。
作者:
戴鑫凯
时间:
2013-3-14 16:38
下面是我的思路,新手.
public static bool IsEmail (string email)
{
if(!email.Contains('@'))
{
return false;
}
//根据@分割字符串
string[] strs = email.Split(new char[]{'@'},SplitOption.RemoveNull);
//判断数组长度
if(strs.Length>2)
{
return false;
}
//接下来只要判断@后面的东西即可
string str = strs[1];
.....................................
//
}
作者:
岳珅
时间:
2013-3-14 16:59
{:soso_e101:}何必不用正则表达式呢- -明明可以很方便的。。。
下面的是正则表达式的做法。。。
static void Main(string[] args)
{
Console.WriteLine("请输入邮箱:");
string email = Console.ReadLine();
if (Regex.IsMatch(email, @"/(\S)+[@]{1}(\S)+[.]{1}(\w)+/"))//如果输入的符合该正则表达式则输出你的邮箱是对的
{
Console.WriteLine("恭喜您!你懂得!");
}
else
{
Console.WriteLine("您输入的邮箱错了- -");//如果输入的是错的,就提示错了呗
}
Console.ReadKey();
}
复制代码
如果你不用正则表达式,就要用indexof来判断里面是否有"@",是否有"."等符号,然后"@"要在"."的前面,就可以简单的判断是否正确,只是简单的判断0.0
作者:
岳珅
时间:
2013-3-14 17:15
又写了个灰常简单的- -不用正则表达式的方法。。。
static void Main(string[] args)
{
Console.WriteLine("Please input your e-mail,I will check it :");
string mail = Console.ReadLine();
if (mail.IndexOf("@") > 0)//indexof的作用是查找字串中指定字符或字串首次出现的位置,返首索引值。
{
if (mail.IndexOf(".") > mail.IndexOf("@"))//如果"."出现在"@"的后面,那么就对啦~
{
Console.WriteLine("RIGHT!");
}
}
else
{
Console.WriteLine("WRONG!");
}
Console.ReadKey();
}
复制代码
希望能帮到你
作者:
郑志强
时间:
2013-3-14 17:19
额 我自己做出来了
Console.WriteLine("输入Email");
string email = Console.ReadLine();
//判断是否含有@和.的
if (email.Contains("@") && email.Contains("."))
{
//判断是不是@或者.开头或者结尾
if (!(email.StartsWith("@")) && !(email.EndsWith("@")) && !(email.StartsWith(".")) && !(email.EndsWith(".")))
{
//把email转换为字符串组
char[] values = email.ToCharArray();
string value = new string(values);
//判断.是否在@的后面.并且@的位置不和.相连
if (value.IndexOf('@') < value.IndexOf('.')&&!(value.IndexOf('@')+1==value.IndexOf('.')))
{
Console.WriteLine("email地址合法");
Console.ReadKey();
return;
}
else
{
Console.WriteLine("email地址不合法");
Console.ReadKey();
return;
}
}
else
{
Console.WriteLine("email地址不合法");
}
}
else
{
Console.WriteLine("email地址不合法");
}
Console.ReadKey();
复制代码
作者:
石国庆
时间:
2013-3-14 17:26
{:soso_e127:}为啥不用正则啊,正则是不是只能判断格式啊,比如有173.com?可是没有173邮箱啊
作者:
石国庆
时间:
2013-3-14 17:26
新手,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2