C#中如何利用Regex判斷字元_C#教程

來源:互聯網
上載者:User

廢話不多說了,下面代碼給大家介紹下利用Regex判斷字元的方法,具體代碼如下所示:

using System;using System.Text.RegularExpressions;using System.NET;namespace Regex檢測字串{ 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]");//Regex   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, @"[-|;|,|\/|||||\}|\{|%|@|\*|!|\']");  } }}

以上所述是小編給大家介紹的C#中如何利用Regex判斷字元,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.