判断是否为汉字

来源:互联网 发布:sqlserver自增长id 编辑:程序博客网 时间:2024/05/10 17:22

//判断输入是否为汉字
private void label1_Click(object sender, EventArgs e)
        {
            string s;
            s = textBox1.Text;
            foreach (char c in s)
            {
                int i = (int)c;

                if (i < 0x4E00 || i > 0x9fa5)
                    label1.Text = "请输入汉字";
                else
                    label1.Text = "输入正确";
            }
            
        }

//自已改了一下判断字节数,传入两个值,一个文本框的值,一个文本框
    //判断字节数
        private void isByteCount(string str, TextBox txt)
        {
            int count = 0;
            foreach (char c in str)
            {
                int i = (int)c;
                if (i < 0x4E00 || i > 0x9fa5)
                {
                    count++;
                }
                else
                {
                    count += 2;
                }
            }
            if (count > 13)
            {
                txt.ReadOnly = true;

            }
        }

还有一种方法,可以在后台用正则表达式来判断(传入要判断的值,这里判断的是输入的是否为数字)
   public static bool IsNatural_Number(string str)
        {
            System.Text.RegularExpressions.Regex reg1
                                        = new System.Text.RegularExpressions.Regex(@"^[0-2][0-9][:][0-5][0-9]$");
            return reg1.IsMatch(str);
        }

其中我判断的是当字节数大于13的时候,也就是中文只能输入5个,二个字母或数字算一个汉