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

 更新时间:2020年6月25日 11:21  点击:2110

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

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#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对猪先飞网站的支持!

[!--infotagslink--]

相关文章

  • PHP正则表达式取双引号内的内容

    取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
  • 运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

    今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • php 验证只能输入汉字、英语、数字的正则表达式

    正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • PHP正则表达式匹配验证提取网址URL实例总结

    网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
  • 正则表达式中两个反斜杠的匹配规则详解

    这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • JS中使用正则表达式g模式和非g模式的区别

    这篇文章给大家详细介绍了JS中使用正则表达式g模式和非g模式的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-03
  • C#正则表达式使用方法示例

    这篇文章主要介绍了C#正则表达式使用方法,大家参考使用...2020-06-25
  • 常用C#正则表达式汇总介绍

    c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。...2020-06-25
  • JavaScript利用正则表达式替换字符串中的内容

    本文主要介绍了JavaScript利用正则表达式替换字符串中内容的具体实现方法,并做了简要注释,便于理解。具有一定的参考价值,需要的朋友可以看下...2017-01-09
  • 一文秒懂python正则表达式常用函数

    这篇文章主要介绍了python正则表达式常用函数及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
  • C# 去除首尾字符或字符串的方法

    C# 去除首尾字符或字符串的方法,需要的朋友可以参考一下...2020-06-25
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • C# 中使用正则表达式匹配字符的含义

    正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • Python验证的50个常见正则表达式

    这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • js用正则表达式筛选年月日的实例方法

    在本篇文章里小编给大家整理的是一篇关于js用正则表达式筛选年月日的实例方法,对此有兴趣的朋友们可以学习下。...2021-01-04