加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

TextBox的内容匹配正则表达式

发布时间:2020-12-14 01:46:54 所属栏目:百科 来源:网络整理
导读:需要引入命名空间:using System.Text.RegularExpressions 首先,先定义一个string,用来表示数字的正则表达式: public string pattern = @"^[0-9]*$";//表示数字 接着,我们就可以在textBox的TextChanged事件中判断输入的是否是数字 private void textBoxP

需要引入命名空间: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读