TextBox的内容匹配正则表达式

    需要引入命名空间:using System.Text.RegularExpressions          

      首先,先定义一个string,用来表示数字的正则表达式:

public string pattern = @"^[0-9]*$";//表示数字

    接着,我们就可以在textBox的TextChanged事件中判断输入的是否是数字

 private void textBoxParam1_TextChanged(object sender, EventArgs e)
{
     Match m = Regex.Match(this.textBoxParam1.Text, pattern);   // 匹配正则表达式
   //或者boolean flag = Regex.IsMatch(this.textBoxParam1.Text, pattern),然后对flag进行判断+处理
if (!m.Success)   // 输入的不是数字
            {
               //弹出警告
            }
else   // 输入的是数字
            {
              //进行处理
             }
}


     这样,就基本上实现了用正则表达式限制TextBox的输入数字了。另外需要说明的是match返回的是单个的匹配,而matches是一组匹配。IsMatch则是返回的布尔值。

     其他的判断也是类似,只要设定比较的正则表达式的内容即可,下面给出常用正则表达式(均通过本人亲自验证):

只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零或者非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。//对于00.12,00等也认为合法。

只能输入有两位小数的实数:"^-?[0-9]+(\.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。//非空白字符
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$/"等字符:"[^%&',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

关于正则表达式的更详细的内容参见下面链接:http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值