C#中使用正则表达式验证中文汉字的输入【转载】
C#中使用正则表达式验证中文汉字的输入
- 2019-08-13 00:07
在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。正好符合实际结果。