TextBox的内容匹配正则表达式

前端之家收集整理的这篇文章主要介绍了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

猜你在找的正则表达式相关文章