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

作者:mrr 时间:2023-07-29 12:19:30 

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


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#中如何利用正则表达式判断字符网站的支持!

标签:正则表达式,字符
0
投稿

猜你喜欢

  • C#使用Dispose模式实现手动对资源的释放

    2022-09-21 16:12:14
  • Android自定义StickinessView粘性滑动效果

    2022-11-22 08:56:20
  • 多线程如何解决for循环效率的问题

    2023-12-02 08:31:55
  • MyBatis图文并茂讲解注解开发一对一查询

    2023-12-07 11:01:18
  • 基于Android本地代码生成器详解

    2022-09-15 02:52:26
  • 解决@PathVariable对于特殊字符截断的问题

    2021-10-10 08:19:40
  • C#纹理画刷TextureBrush用法实例

    2023-03-17 07:23:12
  • C# WinForm状态栏实时显示当前时间(窗体状态栏StatusStrip示例)

    2022-10-09 16:58:51
  • Android 图片特效如何实现及总结

    2023-07-26 12:58:33
  • Thymeleaf 3.0 自定义标签方言属性的实例讲解

    2023-03-24 20:40:23
  • Android中activity从创建到显示的基本介绍

    2023-01-08 02:07:41
  • IntelliJ IDEA 2020.2正式发布,两点多多总能助你提效

    2023-08-30 18:15:18
  • C语言char s[]和char* s的区别

    2022-03-27 11:24:24
  • C#取得Web程序和非Web程序的根目录的N种取法总结

    2023-07-16 07:37:32
  • spring的xml文件打开没有namespace等操作选项的解决方案

    2022-09-10 14:56:47
  • IntelliJ IDEA的代码搁置功能实现

    2022-03-28 07:32:52
  • Android Studio发布项目到Jcenter仓库步骤(图文)

    2022-12-21 13:50:54
  • SpringBoot之webflux全面解析

    2022-09-27 12:07:20
  • Intellij IDEA如何去掉@Autowired 注入警告的方法

    2023-02-13 04:34:49
  • 解决SpringBoot自定义拦截器和跨域配置冲突的问题

    2022-01-31 04:59:29
  • asp之家 软件编程 m.aspxhome.com