以验证邮箱为例:

“请输入您的邮箱:”
1-“邮箱正确!/错误!”
2-“只能有一个@符号”
3-“不能以@开头”
4-“不能以@结尾”
5-“@之后必须有点”
6-“@之后不能是点”
7-最少一个点,最多两个点
8-“不能以点结尾”
9-不能以数字结束

  1        #region 定义变量
  2             //1 -“邮箱正确!/ 错误!”,end放置最终结果
  3             string end = "邮箱正确!";
  4             //2 -“只能有一个 @符号”
  5             bool atOnlyOne = true;
  6             //3 -“不能以 @开头”
  7             bool atStart = true;
  8             //4 -“不能以 @结尾”
  9             bool atEnd = true;
 10             //5 -“@之后必须有点”
 11             bool atDian = true;
 12             //6 -“@之后不能是点”
 13             bool atNoDian = true;
 14             //7 - 最少一个点,最多两个点
 15             bool dianOneOrTwo = true;
 16             //8 -“不能以点结尾”
 17             bool dianEnd = true;
 18             //9 - 不能以数字结束
 19             bool numEnd = true;
 20         #endregion
 21
 22             //让用户输入邮箱
 23             Console.Write("请输入你的邮箱地址:");
 24             string user_mail = Console.ReadLine();
 25
 26             if (user_mail.Length > 0)
 27             {
 28                 #region 只能有一个 @符号
 29                 int a1 = user_mail.IndexOf("@");
 30                 if (a1 == -1)
 31                 {
 32                     atOnlyOne = false;
 33                     end = "邮箱格式错误!";
 34                 }
 35                 else
 36                 {
 37                     int a2 = user_mail.IndexOf("@",a1+1);
 38                     if (a2 != -1)
 39                     {
 40                         atOnlyOne = false;
 41                         end = "邮箱格式错误!";
 42                     }
 43                 }
 44                 #endregion
 45
 46                 #region 不能以 @开头
 47                 if (user_mail.StartsWith("@"))
 48                 {
 49                     atStart = false;
 50                     end = "邮箱格式错误!";
 51                 }
 52                 #endregion
 53
 54                 #region 不能以 @结尾
 55                 if (user_mail.EndsWith("@"))
 56                 {
 57                     atEnd = false;
 58                     end = "邮箱格式错误!";
 59                 }
 60                 #endregion
 61
 62                 #region @之后必须有点
 63                 if (atOnlyOne == true)
 64                 {
 65                     string a3 = user_mail.Substring(user_mail.IndexOf("@"));
 66                     if (!a3.Contains("."))
 67                     {
 68                         atDian = false;
 69                         end = "邮箱格式错误!";
 70                     }
 71                 }
 72                 #endregion
 73
 74                 #region@之后不能是点
 75                 if (user_mail.IndexOf("@.") != -1)
 76                 {
 77                     atNoDian = false;
 78                     end = "邮箱格式错误!";
 79                 }
 80                 #endregion
 81
 82                 #region 最少一个点,最多两个点
 83                 int count = 0;
 84                 int a5 = -1;
 85                 while (true)
 86                 {
 87                     a5 = user_mail.IndexOf(".", a5 + 1);
 88                     if (a5 != -1)
 89                         count++;
 90                     else
 91                         break;
 92                 }
 93                 if (count != 1 && count != 2)
 94                 {
 95                     dianOneOrTwo = false;
 96                     end = "邮箱错误!";
 97                 }
 98                 #endregion
 99
100                 #region 不能以点结尾
101                 if (user_mail.EndsWith("."))
102                 {
103                     dianEnd = false;
104                     end = "邮箱格式错误!";
105                 }
106                 #endregion
107
108                 #region 不能以数字结束
109                 string a6 = user_mail.Substring(user_mail.Length - 1, 1);
110                 try
111                 {
112                     Convert.ToInt32(a6);
113                     numEnd = false;
114                     end = "邮箱格式错误!";
115                 }
116                 catch { }
117                 #endregion
118
119                 #region 打印结果
120                 if (atOnlyOne == false)
121                     Console.WriteLine("有且只有一个 @符号");
122                 else if (atStart == false)
123                     Console.WriteLine("不能以 @开头");
124                 else if (atEnd == false)
125                     Console.WriteLine("不能以 @结尾");
126                 else if (atDian == false)
127                     Console.WriteLine("@之后必须有点");
128                 else if (atNoDian == false)
129                     Console.WriteLine("@之后不能是点");
130                 else if (dianOneOrTwo == false)
131                     Console.WriteLine("最少一个点,最多两个点");
132                 else if (dianEnd == false)
133                     Console.WriteLine("不能以点结尾");
134                 else if (numEnd == false)
135                     Console.WriteLine("不能以数字结束");
136
137                 Console.WriteLine(end);
138                 #endregion
139             }
140             else
141             {
142                 Console.WriteLine("邮箱不能为空!");
143             }

把每一个小功能分成一小块去开发(#region...#endregion可折叠),哪里出错修改哪里,便于修改,同时便于增加新功能。

转载于:https://www.cnblogs.com/zqyyx/p/8005778.html

【2017-12-08】c#基础-程序开发思路初认识相关推荐

  1. 微信小程序红包开发思路 微信红包小程序开发思路讲解

    之前公司开发小程序红包,将自己在开发的过程中遇到的一些坑分享到了博客里.不少人看了以后,还是不明白怎么开发.也加了我微信咨询.所以今天,我就特意再写一篇文章,这次就不谈我开发中遇到的坑了.就主要给大家 ...

  2. “12步”揭开iPhone程序开发神秘面纱

    iPhone手机对于各位时尚潮人来说一定不会陌生,而iPhone的风行除了依靠其良好的用户体验,很大一部分原因在于iPhone的App Store中的程序.iPhone的App Store以其独特的经 ...

  3. 【移动开发】2022 年 12 大移动应用程序开发趋势

    据统计,Google Play Store 和 Apple App Store 中有超过 500 万个应用程序可用.对于更具创新性的解决方案,企业需要顶级移动应用程序开发趋势来帮助企业持续增长的端到端 ...

  4. 嵌入式Linux系统基础程序开发

    文章目录 一.​ ubuntu开发环境下使用gcc编译c程序 1.编写helloworld的c程序 2.编写一个主程序文件 main1.c 和一个子程序文件 sub1.c 二,在window系统中使用 ...

  5. 【306天】我爱刷题系列065(2017.12.08)

    叨叨两句 完美组织完一次团购~ 1 下列在Java语言中关于数据类型和包装类的说法,正确的是() 正确答案: B 基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型 long ...

  6. 视觉基础与开发思路-第九节形态学操作

    转载于:https://www.cnblogs.com/chita/p/3642145.html

  7. 驱动开发思路以及应用程序与驱动程序的区别

    SOC: 采用的A7的核 片内设备: 1.片内控制器: i2c控制器.spi控制器.uart控制器.gpio控制器-- 2.总线: 平台总线 3.片内存储器: irom:掉电不丢失数据 iram:掉电 ...

  8. 微信小程序开发者工具初体验及实现技术初探

    微信小程序是当前的热点,市面上已经有很多微信小程序开发相关的文章,今天晚上抽了点时间折腾了微信小程序,并顺便看看了下微信小程序开发者工具的实现,是使用Node.js开发的,UI是基于NW.js框架开发 ...

  9. 从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/12

    从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/1293 ...

最新文章

  1. easyexcel怎么设置表头宽度_easyexcel 自动设置列宽
  2. VS2013 编译使用 stlport
  3. No module named ‘skimage.metrics‘在Anaconda3中的解决方法
  4. 4月数据库流行度排行出炉:MySQL 成事实王者
  5. Android UI库书签
  6. 关于数据库事务启用后的查询操作
  7. 底层技术革命是如何爆发的?_转
  8. linux系统查看服务进程,Linux服务器系统详细查看进程启动时间
  9. Nginx防止恶意解析-禁止通过IP访问网站
  10. 推荐21个顶级的Vue UI库!
  11. extract进程 oracle,OracleGoldenGate系列:Extract进程的恢复原理
  12. 列举微型计算机的主要性能指标,计算机基础考试纲.ppt
  13. jmeter throughput图表_jmeter生成HTML格式性能测试报告
  14. 用JSP实现简单的留言板
  15. 邵武一中2021高考成绩查询,福建高中成绩排名2021,福建中考分数线排行榜
  16. ucserver admin.php,Discuz!X3.2 升级后ucenter、uc_server正确密码却无法登录后台的解决方法...
  17. HTC Vive开发笔记之手柄震动 转
  18. 使用2345安全卫士后打开浏览器主页锁定为2345
  19. 么是形参?什么是实参?
  20. Qt error: /usr/bin/ld: cannot find -lGL: No such file or directory

热门文章

  1. java中常见的异常类
  2. latex 公式转图片
  3. Advanced Driver Assistance Systems (ADAS)
  4. SURF算法与源码分析、下
  5. 简单介绍常用hadoop dfs命令
  6. (CZ深入浅出Java基础)线程笔记
  7. ci框架——辅助函数
  8. 玩转Excel系列-SUMIFS函数使用及实例
  9. Interface实现多态简例
  10. 黄聪:在C#中如何使用资源中的图片