代码:
1 using System; 2 using System.Windows.Forms; 3 4 namespace CheckInput 5 { 6 public partial class Form1 : Form 7 { 8 public Form1() 9 { 10 InitializeComponent(); 11 } 12 13 private void Sure_button_Click(object sender, EventArgs e) 14 { 15 16 if (CheckIsLegal() && CheckIsNull()) 17 { 18 //TODO 19 } 20 21 //just for test 22 if (CheckIsNull()&&CheckIsLegal_test()) 23 { 24 //TODO 25 } 26 } 27 28 /// <summary> 29 /// 判断输入是否合法 30 /// </summary> 31 /// <returns></returns> 32 private bool CheckIsLegal() 33 { 34 string[] SpecialString = new string[] { "/", @"\", ":", "*", "?", "<", ">", "|" }; 35 //注:反斜杠“\”是转义字符 36 //“\'”单引号;“\"”双引号;“\\”反斜杠;“\0”空;“\a”警告;“\b”退格;“\f”换页;“\n”换行;“\r”换行 37 //注:用@ 符号加在字符串前面表示其中的转义字符“不”被处理 38 int tempInt = 0; 39 40 for (int i = 0; i < SpecialString.Length; i++) 41 { 42 if (this.Name_textBox.Text.Trim().Contains(SpecialString[i])) 43 { 44 MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |"); 45 this.Name_textBox.Select(); 46 return false; 47 } 48 if (this.Nickname_textBox.Text.Contains(SpecialString[i])) 49 { 50 MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |"); 51 this.Name_textBox.Select(); 52 return false; 53 } 54 //TODO 55 56 //其他的输入框同理 57 58 //TODO 59 } 60 61 //注:string输入变成int型:1.int.TryParse;2.Convert.ToInt32(); 62 //注:int转string:1.Convert.ToString(); 63 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || tempInt < 0) 64 { 65 MessageBox.Show("年龄输入错误!"); 66 this.Age_textBox.Select(); 67 return false; 68 } 69 //TODO 70 71 //其他的输入框同理 72 73 //TODO 74 else 75 { 76 return true; 77 } 78 } 79 80 /// <summary> 81 /// 判断输入框是否为空 82 /// </summary> 83 /// <returns></returns> 84 private bool CheckIsNull() 85 { 86 //Trim()删除字符串头部及尾部出现的空格=>这里判断是否为空,所以必须加上 87 //删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。 88 //注:TrimStart()=>只删除字符串的头部的空格 89 //注:TrimEnd()=>只删除字符串尾部的空格 90 if (this.Name_textBox.Text.Trim()=="") 91 { 92 MessageBox.Show(@"姓名不能为空!"); 93 this.Name_textBox.Select(); 94 return false; 95 } 96 if (this.Nickname_textBox.Text.Trim() == "") 97 { 98 MessageBox.Show(@"昵称不能为空!"); 99 this.Nickname_textBox.Select(); 100 return false; 101 } 102 //TODO 103 104 //其他的输入框同理 105 106 //TODO 107 else 108 { 109 return true; 110 } 111 } 112 113 114 /// <summary> 115 /// 开始不理解 out tempInt 的作用 116 /// 顺便复习一下string转化为int的过程 117 /// </summary> 118 /// <returns></returns> 119 private bool CheckIsLegal_test() 120 { 121 int tempInt = 0; 122 123 //注:Convert.ToInt32 124 125 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || CheckIntIsNegative(Convert.ToInt32 126 (int.TryParse(this.Age_textBox.Text, out tempInt)))) 127 { 128 MessageBox.Show("年龄输入错误!"); 129 this.Age_textBox.Select(); 130 return false; 131 } 132 //TODO 133 134 //其他的输入框同理 135 136 //TODO 137 else 138 { 139 return true; 140 } 141 } 142 143 private bool CheckIntIsNegative(int m) 144 { 145 if (m < 0) 146 { 147 return false; 148 } 149 else 150 { 151 return true; 152 } 153 } 154 155 private bool CheckDoubleIsNegative(double m) 156 { 157 if (m < 0) 158 { 159 return false; 160 } 161 else 162 { 163 return true; 164 } 165 } 166 167 private void Cancel_button_Click(object sender, EventArgs e) 168 { 169 this.Close(); 170 } 171 } 172 }
效果图: