• 利用正则表达式 进行字符的判断


    using System;
    using System.Text.RegularExpressions;
    using System.Net;

    namespace 正则表达式检测字符串
    {
        class Program
        {
            static void Main(string[] args)
            {
               
                Console.WriteLine("请输入字符串:");
                string s = Console.ReadLine();
                if (GF_IsOk.IsExistHanZi(s))
                {
                    Console.Write("包含汉字");
                }
                else
                {
                    Console.Write("不包含汉字");
                }
                Console.ReadLine();
            }
        }
        //判断部分
        public class GF_IsOk
        {
            /// <summary>
            /// 判读是否是IP地址
            /// </summary>
            /// <param name="in_str"></param>
            /// <returns></returns>
            public static bool IsIPStr(string in_str)
            {
                IPAddress ip;
                return IPAddress.TryParse(in_str, out ip);
            }

            /// <summary>
            /// 判断是否是数字
            /// </summary>
            /// <param name="strNumber"></param>
            /// <returns></returns>
            public static bool IsNumber(string strNumber)
            {

                Regex objNotNumberPattern = new Regex("[^0-9.-]");
                Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
                Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
                String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
                String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
                Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
                return !objNotNumberPattern.IsMatch(strNumber) &&
                       !objTwoDotPattern.IsMatch(strNumber) &&
                       !objTwoMinusPattern.IsMatch(strNumber) &&
                       objNumberPattern.IsMatch(strNumber);
            }

            /// <summary>
            ///  判断是否是日期字符串
            /// </summary>
            /// <param name="in_str"></param>
            /// <returns></returns>
            public static bool IsDateStr_yyyymmdd(string in_str)
            {
                if (in_str == "") return true;
                if (in_str.Length != 8) return false;
                return IsDateStr(in_str);
            }

            /// <summary>
            /// 判断是否是日期字符串
            /// </summary>
            /// <param name="in_str"></param>
            /// <returns></returns>
            public static bool IsDateStr(string in_str)
            {
                if (in_str == "") return true;
                if (in_str.Length == 8)
                    in_str = in_str.Substring(0, 4) + "-" + in_str.Substring(4, 2) + "-" + in_str.Substring(6, 2);
                DateTime dtDate;
                bool bValid = true;
                try
                {
                    dtDate = DateTime.Parse(in_str);
                }
                catch (FormatException)
                {
                    // 如果解析方法失败则表示不是日期性数据
                    bValid = false;
                }
                return bValid;
            }

            /// <summary>
            /// 判断字符串中是否包含汉字,有返回true 否则为false
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static bool IsExistHanZi(string str)
            {
                Regex reg = new Regex(@"[\u4e00-\u9fa5]");//正则表达式
                if (reg.IsMatch(str))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }


            /// <summary>
            /// 字段串是否为Null或为""(空)
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static bool IsStrNullOrEmpty(string str)
            {
                if (str == null || str.Trim() == string.Empty)
                    return true;

                return false;
            }

            /// <summary>
            /// 返回文件是否存在
            /// </summary>
            /// <param name="filename">文件名</param>
            /// <returns>是否存在</returns>
            public static bool IsFileExists(string filename)
            {
                return System.IO.File.Exists(filename);
            }


            /// <summary>
            /// 检测是否符合email格式
            /// </summary>
            /// <param name="strEmail">要判断的email字符串</param>
            /// <returns>判断结果</returns>
            public static bool IsValidEmail(string strEmail)
            {
                return Regex.IsMatch(strEmail, @"^[\w\.]+([-]\w+)*@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]");
            }

            public static bool IsValidDoEmail(string strEmail)
            {
                return Regex.IsMatch(strEmail, @"^@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
            }
            /// <summary>
            /// 检测是否是正确的Url
            /// </summary>
            /// <param name="strUrl">要验证的Url</param>
            /// <returns>判断结果</returns>
            public static bool IsURL(string strUrl)
            {
                return Regex.IsMatch(strUrl, @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
            }

            /// <summary>
            /// 判断是否为base64字符串
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static bool IsBase64String(string str)
            {
                //A-Z, a-z, 0-9, +, /, =
                return Regex.IsMatch(str, @"[A-Za-z0-9\+\/\=]");
            }

            /// <summary>
            /// 检测是否有Sql危险字符
            /// </summary>
            /// <param name="str">要判断字符串</param>
            /// <returns>判断结果</returns>
            public static bool IsSafeSqlString(string str)
            {
                return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
            }
        }
    }

    感谢来访,共同学习!
  • 相关阅读:
    洛谷 1996——约瑟夫问题(线性数据结构)
    洛谷 1219——[USACO 1.5] 八皇后(深度优先搜索)
    洛谷 1162——填涂颜色(广度优先搜索)
    洛谷 1803——凌乱的yy(贪心)
    洛谷 1094——纪念品分组(贪心)
    洛谷 1223——排队接水(贪心)
    洛谷 1028——[USACO 1.3]混合牛奶 Mixing Milk
    洛谷 1181——数列分段Section I(贪心)
    洛谷 1090——合并果子(贪心)
    洛谷 1012——拼数(字符串处理)
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3058825.html
Copyright © 2020-2023  润新知