在C#的Winform程序、Asp.NET网站、WPF开发、Windows服务开发的过程中,有时候因为业务实际需要,可能在程序中需要校验输入的字符串是否为中文汉字字符,此文将介绍如何使用正则表达式Regex类中的IsMatch方法来匹配校验中文汉字的输入。IsMatch方法的作用主要用来匹配字符串,常用的签名方式有bool IsMatch(string input, string pattern);参数Input代表需要判断的字符串,pattern代表正则表达式语句。

Regex类所在的命名空间为System.Text.RegularExpressions,因此在程序.cs文件页面头部使用using System.Text.RegularExpressions语句引入命名空间。

表示汉字范围的正则表达式语句为:“^[\u4e00-\u9fa5]{1,}$”。在这个表达式中,符号^表示匹配开始,[\u4e00-\u9fa5]代表匹配汉字,{1,}代表匹配一个到多个汉字,$表示匹配行结束。

C#中使用正则表达式验证中文字符的方法如下:

 public bool IsChinese(string strValue)
        {
            bool result = Regex.IsMatch(strValue,@"^[\u4e00-\u9fa5]{1,}$");
            return result;
        }

下面以两个实例来验证此方法,实例代码如下:

  bool result1 = IsChinese("acbS");
  bool result2 = IsChinese("张三");

从运行结果来看,result1=false,result2=true。正好符合实际结果。