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


猜你喜欢
- 前言对于数组遍历,基本上每个开发者都写过,遍历本身没什么好说的,但是当我们在遍历的过程中,有一些复杂的业务逻辑时,将会发现代码的层级会逐渐加
- 本文实例讲述了Android编程自定义线程池与用法。分享给大家供大家参考,具体如下:一、概述:1、因为线程池是固定不变的,所以使用了单例模式
- 一、进程内部的线程同步1、使用lock,用法如下:private static readonly object SeqLock = new
- 一、点名器需求:我有一个文件里面存储了班级同学的姓名,每一个姓名占一行,要求通过程序实现随机点名器实现步骤:创建字符缓冲输入流对象创建Arr
- 1.概述在本教程中,我们将讨论如何使用Spring Security OAuth和Spring Boot实现SSO - 单点登录。我们将使用
- 今天来给大家介绍一个非常有用的Studio Tips,有些时候我们在一个方法内部写了过多的代码,然后想要把一些代码提取出来再放在一个单独的方
- 目录特性引入依赖使用特性Kotlin + Flow 实现的 Android 应用初始化任务启动库。支持模块化,按模块加载任务可指定工作进程名
- 引言前边两章说了点基础的,从这章开始,我们挖挖源码。看看RocketMQ是怎么工作的。首先呢,这个生产者就是送孩子去码头的家长,孩子们呢,就
- 现在很多安全类的软件,比如360手机助手,百度手机助手等等,都有一个悬浮窗,可以飘浮在桌面上,方便用户使用一些常用的操作。首先,看一下效果图
- 一、做一个小测试通过注释,标注出下面两个类中每个方法的执行顺序,并写出studentId的最终值。package com.nezha.jav
- 最近在开发一个项目,需要写一个后管系统,Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合
- 北京时间 2018 年 3 月 1 日早上,如约发布的 Spring Boot 2.0 在同步至 Maven 仓库时出现问题,导致在 Git
- 本文实例为大家分享了Unity3D实现物体旋转缩放移动的具体代码,供大家参考,具体内容如下由于项目运行在安卓上,运用到了插件,比较麻烦。你们
- * 其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承P
- 首先,通过一张最新(2021.11)的编程语言排名图来了解常见的编程语言:从图中可以看出,C++的排名相对于Python、Java、C来说并
- Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转
- 从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少
- 目录项目说明零,准备工作Github地址一,项目背景及系统结构二,持久层设计三,Model层四,DAO(Data Access Object
- 本文实例讲述了C#实现程序等待延迟执行的方法。分享给大家供大家参考。具体如下:[System.Runtime.InteropServices
- 1. 获取绝对文件路径System.IO.Path.GetFullPath(string path)string fileName = &q