查看: 1951|回复: 0

[ASP.NET教程] 使用C#的正则表达式验证中文字符(实例代码)

发表于 2018-2-10 08:00:07

废话不多说了,直接给大家贴代码了,具体代码如下所示:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7. namespace 正则表达01
  8. {
  9. /// <summary>
  10. /// 表达是否是字符是不是中文
  11. /// </summary>
  12. class Program
  13. {
  14. /// <summary>
  15. /// 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127
  16. /// </summary>
  17. static void justice1() {
  18. string text = "adonai,天下英雄出我辈,一入江湖岁月催。鸿图霸业谈笑间,不胜人生一场醉。 提剑跨骑挥鬼雨,白骨如山鸟惊飞。 尘世如潮人如水,只叹江湖几人回";
  19. for (int i = 0; i < text.Length; i++)
  20. {
  21. if ((int)text[i] > 127)
  22. Console.WriteLine("是汉字");
  23. else
  24. Console.WriteLine("不是汉字");
  25. }
  26. }
  27. /// <summary>
  28. /// 汉字的UNICODE编码范围是4e00-9fbb
  29. /// </summary>
  30. static void justice2() {
  31. string text = "adonai,天下英雄出我辈,一入江湖岁月催。鸿图霸业谈笑间,不胜人生一场醉。 提剑跨骑挥鬼雨,白骨如山鸟惊飞。 尘世如潮人如水,只叹江湖几人回";
  32. char[] c = text.ToCharArray();
  33. for (int i = 0; i < c.Length; i++)
  34. if (c[i] >= 0x4e00 && c[i] <= 0x9fbb)
  35. Console.WriteLine("是汉字");
  36. else
  37. Console.WriteLine("不是汉字");
  38. }
  39. /// <summary>
  40. /// 正则表达式判断也是用汉字的 UNICODE 编码范围
  41. /// </summary>
  42. static void justice3() {
  43. string text = "adonai,天下英雄出我辈,一入江湖岁月催。鸿图霸业谈笑间,不胜人生一场醉。 提剑跨骑挥鬼雨,白骨如山鸟惊飞。 尘世如潮人如水,只叹江湖几人回";
  44. for (int i = 0; i < text.Length; i++)
  45. {
  46. if (Regex.IsMatch(text[i].ToString(), @"[\u4e00-\u9fbb]"))
  47. Console.WriteLine("是汉字");
  48. else
  49. Console.WriteLine("不是汉字");
  50. }
  51. }
  52. static void Main(string[] args)
  53. {
  54. justice1();
  55. Console.ReadKey();
  56. }
  57. }
  58. }
复制代码

以上所述是小编给大家介绍的使用C#的正则表达式验证中文字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对程序员之家网站的支持!

您可能感兴趣的文章:

  • C#匹配中文字符串的4种正则表达式分享
  • 谈谈C# replace在正则表达式中的意义
  • C#中正则表达式的3种匹配模式
  • C#使用正则表达式过滤html标签


回复

使用道具 举报