1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 判断邮箱格式是否正确(C#实现正则表达式实现)

判断邮箱格式是否正确(C#实现正则表达式实现)

时间:2020-10-27 18:23:40

相关推荐

判断邮箱格式是否正确(C#实现正则表达式实现)

2月25日15:52:17 补充

有大佬指出正则表达式的写法更好,并给出了代码,我深感赞同,将代码贴上,供参考。

public static bool IsEmail(string inputData) {Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$"); //w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样 Match m = RegEmail.Match(inputData); return m.Success; }

感谢大佬:飞天狐狸007

起因:

今天在书上看到一个小demo,用来判断邮箱格式是否正确。我觉得书上写的判断不是特别完善,所以自己琢磨了琢磨写了下来。当然也有可能有些不完善没有考虑到的地方,我以后琢磨琢磨在补充,也欢迎各位指正批评。

思路:

邮箱的格式大概为username@,我观察了观察,大概有这么几个特点:

有且只有一个“@”必须含有“.”“@”出现在“.”之前“@”不可以是第一个位“.”不能是最后一位“@”后面不能直接就是“.”,两者之间要有内容

大概就先想到这么多。

主要就是运用字符串的一些操作。

做一些补充,今天在网上看了一下,邮箱还有一些特殊的:xxx@,可能会出现多个点,每个点之间也应该有内容,我没找到相关的函数,苦苦思索不得其解。但是忽然灵机一动,其实两个点之间要有内容,就是不能出现..的子串,而且上面的第六条也就是也不能出现@.的子串。

所以在程序下做了一些修改和完善。

代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CSHARP_TEST{class Program{//判断邮箱是否合法static public bool judgeEmailAddress(string emailAddress){//有“@”if (emailAddress.IndexOf("@")==-1){Console.WriteLine("输入的字符串中 没有@ !");return false; }//只有一个“@”if (emailAddress.IndexOf("@") != emailAddress.LastIndexOf("@")){Console.WriteLine("输入的字符串中 有多个@ !");return false;}//有“.”if (emailAddress.IndexOf(".") == -1){Console.WriteLine("输入的字符串中 没有. !");return false;}//“@”出现在第一个“.”之前if (emailAddress.IndexOf("@") > emailAddress.IndexOf(".")){Console.WriteLine("输入的字符串中 @没有出现在.之前!");return false;}//“@”不可以是第一个元素if (emailAddress.StartsWith("@")){Console.WriteLine("输入的字符串中 @是第一个元素!");return false;}//“.”不可以是最后一位if (emailAddress.EndsWith(".")){Console.WriteLine("输入的字符串中 .是最后一位!");return false;}//不能出现“@.”if (emailAddress.IndexOf("@.") != -1){Console.WriteLine("输入的字符串中 出现了@. !");return false;}//不能出现“..”if (emailAddress.IndexOf("..") != -1){Console.WriteLine("输入的字符串中 出现了.. !");return false;}return true;}static void Main(string[] args){string email_address;Console.WriteLine("请输入邮箱地址:");email_address = Console.ReadLine();//判断邮箱地址是否合法if (judgeEmailAddress(email_address) == false){Console.WriteLine("E-mail address is illegal !");}else{Console.WriteLine("输入格式正确!");}}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。