我是靠谱客的博主 纯真薯片,最近开发中收集的这篇文章主要介绍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#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对靠谱客网站的支持!

最后

以上就是纯真薯片为你收集整理的C#中如何利用正则表达式判断字符的全部内容,希望文章能够帮你解决C#中如何利用正则表达式判断字符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(107)

评论列表共有 0 条评论

立即
投稿
返回
顶部