c#/.NET 验证字符串是否为汉字

知道91 | 教程 | 2014-10-30 | 阅读:11021

作为国内的程序员,通常需要对汉字进行校验,但是通常我们都是对英文字符进行验证的,那么c#/.NET怎样实现对汉字字符串的验证呢,下面给出三种校验汉字字符串的方法。

用汉字的 UNICODE 编码范围判断字符串是否为汉字

汉字的 UNICODE 编码范围是4e00-9fbb,具体代码如下所示

 string text = "是不是汉字,ABC";
 char[] c = text.ToCharArray();

for (int i = 0; i < c.Length;i++)
{
    if (c[i] >= 0x4e00 && c[i] <= 0x9fbb)
          Console.WriteLine("是汉字");
    else
          Console.WriteLine("不是汉字");
}

用ASCII码判断字符串是否为汉字

string text = "是不是汉字,ABC";  
for (int i = 0; i < text.Length; i++)  
{  
  if ((int)text[i] > 127)  
	Console.WriteLine("是汉字");  
  else  
	Console.WriteLine("不是汉字");  
}  

如果值大于127那么就是汉字。

用正则表达式判断字符串是否为汉字

string text = "是不是汉字,ABC";  
for (int i = 0; i < text.Length; i++)  
{  
    if (Regex.IsMatch(text[i].ToString(), @"[\u4e00-\u9fbb]+{1}quot;))  
	Console.WriteLine("是汉字");  
    else  
	Console.WriteLine("不是汉字");  
}  

总结:本文介绍了.NET/C#判断一个字符是不是汉字通常的三种方法,第一种用汉字的 UNICODE 编码范围判断,第二种用 ASCII 码判断,第三种用正则表达式判断。希望可以帮助到需要的朋友。