好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#中如何利用正则表达式判断字符

废话不多说了,下面代码给大家介绍下利用正则表达式判断字符的方法,具体代码如下所示:

?

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, @"[-|;|,|\/|||

|

|\}|\{|%|@|\*|!|\']" );

   }

  }

}

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

dy("nrwz");

查看更多关于C#中如何利用正则表达式判断字符的详细内容...

  阅读:55次