C# 校验字符串是否汉字、其他字符,数字或字符

class Program
    {
     
        ///
        /// 控制台测试
        ///
        ///
        static void Main(string[] args)
        {
            string str = null;
            string result = null;

            while (str != "x"){
                str = InputStr();
                result = CheckStr(str);
                Console.WriteLine("结果: {0}", result);
            }
        }

        ///
        /// 输入汉字
        ///
        ///
        public static string InputStr()
        {
            string str;           

            Console.Write("请输入: ");
            str = Console.ReadLine();         
            return str;            
        }

        ///
        ///  校验字符是:汉字或其他字符, 数字或字符
        ///
        ///
        ///
        public static string CheckStr(string str)
        {
            string result = null;
            char c;

            if (IsChineseLetter(str, 0))
            {
                result = str + " = 汉字";
            }
            else
            {
                c = Convert.ToChar(str.Substring(0, 1));
                if (char.IsLetterOrDigit(c))
                {
                    result = str + " = 数字或字母";
                }
                else
                {
                    result = str + " = 特殊字符";
                }

            }
            return result;
        }


        ///
        /// 校验是否汉字
        ///
        ///
        ///
        ///
        protected static bool IsChineseLetter(string input, int index)
        {
            int code = 0;
            int chfrom = Convert.ToInt32("4e00", 16);    //范围(0x4e00~0x9fff)转换成int(chfrom~chend)
            int chend = Convert.ToInt32("9fff", 16);
            if (input != "")
            {
                code = Char.ConvertToUtf32(input, index);    //获得字符串input中指定索引index处字符unicode编码

                if (code >= chfrom && code <= chend)
                {
                    return true;     //当code在中文范围内返回true

                }
                else
                {
                    return false;    //当code不在中文范围内返回false
                }
            }
            return false;
        }

    }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3090/viewspace-613850/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/3090/viewspace-613850/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值