[转帖]C#如何使用正则表达式来校验字段串输入的系列函数

简介: C#如何使用正则表达式来校验字段串输入的系列函数 #region 输入字段串校验系列函数  ///   ///获得字符串长度   ///   ///   ///   public static int GetStrLength(string str)  {   byte[] sarr = System.Text.Encoding.Default.GetBytes(str);   return sarr.Length;  }   ///   ///返回指定长度字符串。

C#如何使用正则表达式来校验字段串输入的系列函数

#region 输入字段串校验系列函数
  /// <summary>
  ///获得字符串长度
  /// </summary>
  /// <param name="str"></param>
  /// <returns></returns>
  public static int GetStrLength(string str)
  {
   byte[] sarr = System.Text.Encoding.Default.GetBytes(str);
   return sarr.Length;
  }

  /// <summary>
  ///返回指定长度字符串。
  /// </summary>
  /// <param name="str">字符串</param>
  /// <param name="len">长度</param>
  /// <returns>指定长度字符串</returns>
  /// <remarks>
  /// 在文本编辑框(TextBox控件)中,一个中文汉字和一个英文字母一样都是占一位字节,
  /// 但是在SQL Server数据库中,存储一个中文汉字是占用两位字节,这样就可能会导致
  /// 在保存文本编辑框的内容时字节被截断,保存出错。所以就需要返回指定长度的当前 ANSI 代码页的编码字符。
  /// <code>
  /// string strTmp = txtMemo.Text;
  /// strTmp=SinoSofts.Common.PublicClass.GetStrEncoding(strTmp,txtMemo.MaxLength);
  /// txtMemo.Text=strTmp;
  /// </code>
  /// </remarks>
  public static string GetStrEncoding(string str,int len)
  {
   byte[] sarr = System.Text.Encoding.Default.GetBytes(str);
   if(sarr.Length>len && len>0)
    return System.Text.Encoding.Default.GetString(sarr,0,len);
   else
    return str;
  }
 
  /// <summary>
  /// //判断身份证
  /// </summary>
  /// <param name="Cert"></param>
  /// <returns></returns>
  public static bool IsValidCert(string Cert)
  {
   return Regex.IsMatch(Cert, @"^(\d{15}|\d{17}[\dx])$");
  }

  //判断邮件
  /*public static bool IsValidEmail(string email)
  {
   return Regex.IsMatch(email, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
  }*/
 
  /// <summary>
  ///判断用户名
  /// </summary>
  /// <param name="UserName"></param>
  /// <returns></returns>
  public static bool IsValidUserName(string UserName)
  {
   return Regex.IsMatch(UserName, @"^([a-z]|[A-Z]){1}\w{0,27}$");
  }

 
  /// <summary>
  ///判断英文名
  /// </summary>
  /// <param name="EnPersonName"></param>
  /// <returns></returns>
  public static bool IsValidEnPersonName(string EnPersonName)
  {
   return Regex.IsMatch(EnPersonName, @"^[a-zA-Z]{1,30}$");
  }

  /// <summary>
  /// 判断密码
  /// </summary>
  /// <param name="PassWord"></param>
  /// <returns></returns>
  public static bool IsValidPassWord(string PassWord)
  {
   return Regex.IsMatch(PassWord, @"^(\w){6,20}$");
  }

  /// <summary>
  /// 判断电话/传真
  /// </summary>
  /// <param name="Tel"></param>
  /// <returns></returns>
  public static bool IsValidTel(string Tel)
  {
   return Regex.IsMatch(Tel, @"^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$");
  }

  /// <summary>
  /// 判断手机
  /// </summary>
  /// <param name="Mobil"></param>
  /// <returns></returns>
  public static bool IsValidMobil(string Mobil)
  {
   return Regex.IsMatch(Mobil, @"^(\d)+[-]?(\d){6,12}$");
  }

  /// <summary>
  /// 邮政编码
  /// </summary>
  /// <param name="Zip"></param>
  /// <returns></returns>
  public static bool IsValidZip(string Zip)
  {
   return Regex.IsMatch(Zip, @"^[a-z0-9 ]{3,12}$");
  }

  /// <summary>
  /// 判断日期
  /// </summary>
  /// <param name="Date"></param>
  /// <returns></returns>
  public static bool IsValidDate(string Date)
  {
   bool bValid=Regex.IsMatch(Date, @"^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$");
   return (bValid && Date.CompareTo("1753-01-01")>=0);

  }
 
  //判断整型
  /*public static bool IsValidInt(string Int)
  {
   return Regex.IsMatch(Int, @"^[1-9]{1}[0-9]{0,6}$");
  }*/

  /// <summary>
  /// 判断只能输字母
  /// </summary>
  /// <param name="EnName"></param>
  /// <returns></returns>
  public static bool IsValidEnName(string EnName)
  {
   return Regex.IsMatch(EnName, @"[a-zA-Z]");
  }
  #endregion

 

目录
相关文章
|
6月前
|
移动开发 JavaScript 前端开发
JavaScript的正则表达式实现邮箱校验
JavaScript的正则表达式实现邮箱校验
|
6月前
|
数据采集 Java 数据格式
【Java】正则表达式,校验数据格式的合法性。
【Java】正则表达式,校验数据格式的合法性。
125 0
|
JavaScript 前端开发 Java
javascript实现像java、c#之类的sleep暂停的函数功能
javascript实现像java、c#之类的sleep暂停的函数功能
66 0
|
12月前
|
开发框架 .NET C#
ASP.Net c# 正则表达式 子表达式 group
ASP.Net c# 正则表达式 子表达式 group
64 0
|
14天前
|
C# Python
使用wxpython开发跨平台桌面应用,对wxpython控件实现类似C#扩展函数处理的探究
【10月更文挑战第30天】使用 `wxPython` 开发跨平台桌面应用时,可以通过创建辅助类来模拟 C# 扩展函数的功能。具体步骤包括:1. 创建辅助类 `WxWidgetHelpers`;2. 在该类中定义静态方法,如 `set_button_color`;3. 在应用中调用这些方法。这种方法提高了代码的可读性和可维护性,无需修改 `wxPython` 库即可为控件添加自定义功能。但需要注意显式调用方法和避免命名冲突。
|
2月前
|
前端开发 C#
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
72 0
|
5月前
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
5月前
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之odps如何使用正则表达式匹配字段的内容
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
113 0
|
5月前
|
自然语言处理 Rust JavaScript
多语言环境下的正则表达式实战:校验整数、小数
多语言环境下的正则表达式实战:校验整数、小数
|
5月前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
33 0