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#中如何利用正则表达式判断字符 的全部内容, 来源链接: utcz.com/z/320074.html

回到顶部