代码:

 using System;
using System.Windows.Forms; namespace CheckInput
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Sure_button_Click(object sender, EventArgs e)
{ if (CheckIsLegal() && CheckIsNull())
{
//TODO
} //just for test
if (CheckIsNull()&&CheckIsLegal_test())
{
//TODO
}
} /// <summary>
/// 判断输入是否合法
/// </summary>
/// <returns></returns>
private bool CheckIsLegal()
{
string[] SpecialString = new string[] { "/", @"\", ":", "*", "?", "<", ">", "|" };
//注:反斜杠“\”是转义字符
//“\'”单引号;“\"”双引号;“\\”反斜杠;“\0”空;“\a”警告;“\b”退格;“\f”换页;“\n”换行;“\r”换行
//注:用@ 符号加在字符串前面表示其中的转义字符“不”被处理
int tempInt = ; for (int i = ; i < SpecialString.Length; i++)
{
if (this.Name_textBox.Text.Trim().Contains(SpecialString[i]))
{
MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |");
this.Name_textBox.Select();
return false;
}
if (this.Nickname_textBox.Text.Contains(SpecialString[i]))
{
MessageBox.Show(@"昵称不能包含下列字符:/ \ : * ? < > |");
this.Nickname_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
} //注:string输入变成int型:1.int.TryParse;2.Convert.ToInt32();
//注:int转string:1.Convert.ToString();
if (!int.TryParse(this.Age_textBox.Text, out tempInt) || tempInt < )
{
MessageBox.Show("年龄输入错误!");
this.Age_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} /// <summary>
/// 判断输入框是否为空
/// </summary>
/// <returns></returns>
private bool CheckIsNull()
{
//Trim()删除字符串头部及尾部出现的空格=>这里判断是否为空,所以必须加上
//删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。
//注:TrimStart()=>只删除字符串的头部的空格
//注:TrimEnd()=>只删除字符串尾部的空格
if (this.Name_textBox.Text.Trim()=="")
{
MessageBox.Show(@"姓名不能为空!");
this.Name_textBox.Select();
return false;
}
if (this.Nickname_textBox.Text.Trim() == "")
{
MessageBox.Show(@"昵称不能为空!");
this.Nickname_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} /// <summary>
/// 开始不理解 out tempInt 的作用
/// 顺便复习一下string转化为int的过程
/// </summary>
/// <returns></returns>
private bool CheckIsLegal_test()
{
int tempInt = ; //注:Convert.ToInt32 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || CheckIntIsNegative(Convert.ToInt32
(int.TryParse(this.Age_textBox.Text, out tempInt))))
{
MessageBox.Show("年龄输入错误!");
this.Age_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} private bool CheckIntIsNegative(int m)
{
if (m < )
{
return false;
}
else
{
return true;
}
} private bool CheckDoubleIsNegative(double m)
{
if (m < )
{
return false;
}
else
{
return true;
}
} private void Cancel_button_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

效果图:

C#学习笔记-输入数据判断(int、double、string)的更多相关文章

  1. Java学习笔记之——Manth类和String类

    (1) Math:常用的数学运算,都是静态方法 方法摘要 static double abs(double a) 返回 double 值的绝对值. static float abs(float a) ...

  2. Java学习笔记(二):String

    String 在Java中String是作为引用对象存在的一种数据类型,用来保存字符串. 实例化和赋值 //直接声明 String s1 = "Hello world!"; //通 ...

  3. int/double/string使用

    在计算机中存储数据和儿童在抽屉中存放物品很类似. 例如: 要在计算机中存一个数字50,需要两句话. int a;  //将要放的物品告诉家长 a=50;  //将物品放到某个抽屉中 计算机存储变量的过 ...

  4. Effective STL 学习笔记 Item 16:vector, string & C API

    有时需要支持 C 的接口,但这并不复杂. 对于 vector 来讲, \(v[0]\) 的地址 \(\&v[0]\) 即可作为数组指针传递给 C API: 1: // Legacy C API ...

  5. Activiti学习笔记11 — 判断节点的使用

    一. 创建流程 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns=" ...

  6. Python学习笔记—条件判断和循环

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  7. Objective-C学习笔记之for( int )机制

    NSArray *myArray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4&q ...

  8. Shell学习笔记 - 条件判断式

    1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ]  -- 推荐使用 例: [ -e /root/install.log ] ...

  9. [Android学习笔记]枚举与int的转换

    package com.example.enumdemo; import android.app.Activity; import android.os.Bundle; import android. ...

随机推荐

  1. easyui combotree的使用

    前台HTML: <div class="search-container"> <table class="search-container-table& ...

  2. jquery仿搜狐投票动画代码

    体验效果:http://hovertree.com/texiao/jquery/21/ 这是一款基于jquery实现的仿搜狐投票动画特效源码,运行该源码可见VS图标首先出现在中间位置,紧接着随着投票比 ...

  3. Java中,关于字符串类型、随机验证码、 时间类型

    一.字符串类型:String类型 定义一个字符串 String a="Hello World"; String b= new String ("Hello World&q ...

  4. eclipse中怎么添加Hibernate tools

    最近在学习Hibernate框架,但是用eclipse的时候发现自己安装的过程不是很顺利,因此记下来,供自己和别人参考. Hibernate Tools是由JBoss推出的一个Eclipse集成开发工 ...

  5. 取出session中的所有属性与值的方法

    如果你想取出session中所有的属性和值,可以通过getAttributeNames()方法来实现,具体代码如下 //获取session HttpSession session = request. ...

  6. 怎么才能算大项目(Application),大的衡量?

    最近在思考一个问题,就是怎么才算一个大型项目,大的衡量有哪些东西?为什么要搞清这个问题呢,是因为在实际的开发过程中,如果知道这是个多大的项目,那就有各种相应的解决方案(我们称之为套路的东西)就可以使用 ...

  7. arcgis10.2.2地图服务切图具体步骤

    1.未发布的参照http://www.cnblogs.com/oolili/p/4752114.html 2.在发布地图服务的基础上,打开Arccatalog,找到发布的地图服务选项,如下图: 右键地 ...

  8. html5快速入门(二)—— CSS简介

    前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...

  9. iOS程序破解——ARM汇编基础

    原文在此:http://www.cnblogs.com/mddblog/p/4951650.html 一.Thumb指令与ARM指令 Thumb指令为16位,因此存储代码的密度高,节省存储空间.但是功 ...

  10. Android 刷新相册

    Android4.4之前: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" + f ...