WinForm下正则表达式的应用

  1.引入命名空间:using System.Text.RegularExpressions;
  2.首先定义一个枚举
  //枚举
  private enum CheckType : int
  {
  isHomePage = 0, //主页
  isEmail = 1, //E-mail
  isUserName = 3, //用户名
  isPwd = 4, //密码
  }
  3.根据输入的字符串,进行校验
  ///
  /// 校验输入字符串是否符合规则
  ///
  /// 被校验的字符串
  /// 字符串校验类别
  /// bool
  private bool CheckString(string strCheck, CheckType eType)
  {
  string strRule = ""; //校验规则
  switch (eType)
  {
  case CheckType.isHomePage:
  strRule = @"^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w- .\/\?%&=\u4e00-\u9fa5]*)?)?$";
  break;
  case CheckType.isEmail:
  strRule = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][ -\w]*[0-9a-z A-Z]\.)+[a-zA-Z]{2,9})$";
  break;
  case CheckType.isUserName:
  strRule = @"^\w+$"; //只能由26个英文字母、数字及下划线组成
  break;
  case CheckType.isPwd:
  strRule = @"^\w+$"; //只能由26个英文字母、数字及下划线组成
  break;
  default:
  break;
  }
  //开始校验
  Regex oReg = new Regex(strRule);
  MatchCollection oCollection = oReg.Matches(strCheck);
  if (oCollection.Count > 0)
  {
  return true;
  }
  else
  {
  return false;
  }
  }
  4.定义上图中TextBox的TextChanged事件
  //用户名验证
  private void tbName_TextChanged(object sender, EventArgs e)
  {
  if (!this.CheckString(this.tbName.Text.Trim(),CheckTy pe.isUserName))
  {
  lbErrorName.Text = "只能由26个英文字母、数字及下划线组成 ";
  }
  else
  {
  lbErrorName.Text = "用户名格式正确";
  }
  }
  //密码验证
  private void tbPwd_TextChanged(object sender, EventArgs e)
  {
  if (!this.CheckString(this.tbPwd.Text.Trim(), CheckType.isPwd))
  {
  lbErrorPwd.Text = "只能由26个英文字母、数字及下划线组成 ";
  }
  else
  {
  lbErrorPwd.Text = "密码格式正确";
  }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值