C#正则表达式常见使用收集
2011-11-09 11:42
316 查看
首先要导入:using System.Text.RegularExpressions;
/// <summary>
/// 固定电话的格式验证
/// 1、形如(021-88888888)
/// </summary>
/// <param name="strTele">待验证字符串</param>
/// <returns></returns>
public bool IsTelephone(string str_tele)
{
string valExg = @"^(\d{3,4}-)?\d{6,8}$";//正则格式
//string valExgMobile = @"^[1]\d{10}$";//手机号格式
return Regex.IsMatch(str_tele,valExg);
}
/// <summary>
/// 密码格式验证
/// 1、6-12位字符或数字组成
/// </summary>
/// <param name="str_password"></param>
/// <returns></returns>
public bool IsPassword(string str_password)
{
string valExg = @"^[A-Za-z0-9]{6,12}$";
return Regex.IsMatch(str_password,valExg);
}
/// <summary>
/// 身份证号验证
/// 1、15位或18位
/// </summary>
/// <param name="str_idcard"></param>
/// <returns></returns>
public bool IsIDcard(string str_idcard)
{
string valExg=@"(^\d{18}$)|(^\d{15}$)";
return Regex.IsMatch(str_idcard,valExg);
}
/// <summary>
///带有小数点格式验证
/// </summary>
/// <param name="str_decimal"></param>
/// <returns></returns>
public bool IsDecimal(string str_decimal)
{
string valExg = @"^[0-9]+\.[0-9]+$";
return Regex.IsMatch(str_decimal, valExg);
}
/// <summary>
/// 数值格式验证
/// </summary>
/// <param name="str_intNumber"></param>
/// <returns></returns>
public bool IsIntNumber(string str_intNumber)
{
string valExg = @"^[\+\-]?[1-9][0-9]*$";
return Regex.IsMatch(str_intNumber, valExg);
}
/// <summary>
/// 月份格式验证
/// </summary>
/// <param name="str_Month"></param>
/// <returns></returns>
public bool IsMonth(string str_Month)
{
string valExg = @"^(0?[[1-9]|1[0-2])$";
return Regex.IsMatch(str_Month, valExg);
}
/// <summary>
/// 日期格式验证
/// </summary>
/// <param name="str_day"></param>
/// <returns></returns>
public bool IsDay(string str_day)
{
string valExg = @"^((0?[1-9])|((1|2)[0-9])|30|31)$";
return Regex.IsMatch(str_day, valExg);
}
/// <summary>
///检查字符串中重复出现的单词
/// 1、此方法不是最完美的
/// </summary>
/// <param name="str_txt"></param>
/// <returns></returns>
public string SomeWord(string str_txt)
{
MatchCollection matches = Regex.Matches(str_txt, @"\b(?<word>\w+)[\s\w]+(\k<word>)\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
if (matches.Count != 0)
{
StringBuilder sb = new StringBuilder();
//遍历集合
foreach (Match match in matches)
{
sb.Append(match.Groups["word"].Value+" ");//获取重复出现的单词
}
return "重复单词:" + sb.ToString() + "";
}
else
{
return "没有重复的单词";
}
}
/// <summary>
/// 根据数字进行拆分
/// 1、实例:我1是中4国人->我 是中 国人
/// </summary>
/// <param name="str_txt"></param>
/// <returns></returns>
public string SplitText(string str_txt)
{
StringBuilder sb = new StringBuilder();
string valExg = "[1-9]";//正则格式
string[] p_str = Regex.Split(str_txt,valExg);
foreach (string s in p_str) //遍历拆分后的字符串集合
{
sb.Append(s+" "); //显示字符串
}
return sb.ToString();
}
/// <summary>
/// 检查是否为纯中文
/// </summary>
/// <param name="str_chinese"></param>
/// <returns></returns>
public bool IsChinese(string str_chinese)
{
string valExg = @"^[\u4e00-\u9fa5]{1,}$"; //中文
//string valExg = @"^[A-Za-z]+$"; //英文
return Regex.IsMatch(str_chinese, valExg);
}
/// <summary>
/// 检查电子邮件格式
/// 1、jayfery@126.com
/// </summary>
/// <param name="str_Email"></param>
/// <returns></returns>
public bool IsEmail(string str_Email)
{
string valExg = @"^(([\w\.]+)@(([[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))|((\w+\.?)+)@([a-zA-Z]{2,4}|[0-9]{1,3})(\.[a-zA-Z]{2,4}))$";
return Regex.IsMatch(str_Email, valExg);
}
/// <summary>
/// 检查IP地址格式
/// 127.0.0.1
/// </summary>
/// <param name="IP"></param>
/// <returns></returns>
public bool IPCheck(string IP)
{
string num = @"(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)"; //创建正则表达式字符串
return Regex.IsMatch(IP,("^" + num + "\\." + num + "\\." + num + "\\." + num + "$"));//使用正则表达式判断是否匹配
}
/// <summary>
/// 检查URL地址格式
/// 1、http://www.baidu.com
/// </summary>
/// <param name="str_url"></param>
/// <returns></returns>
public bool IsUrl(string str_url)
{
string valExg = @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
return Regex.IsMatch(str_url, valExg);
}
待续 2011-11-14.。。。。
/// <summary>
/// 固定电话的格式验证
/// 1、形如(021-88888888)
/// </summary>
/// <param name="strTele">待验证字符串</param>
/// <returns></returns>
public bool IsTelephone(string str_tele)
{
string valExg = @"^(\d{3,4}-)?\d{6,8}$";//正则格式
//string valExgMobile = @"^[1]\d{10}$";//手机号格式
return Regex.IsMatch(str_tele,valExg);
}
/// <summary>
/// 密码格式验证
/// 1、6-12位字符或数字组成
/// </summary>
/// <param name="str_password"></param>
/// <returns></returns>
public bool IsPassword(string str_password)
{
string valExg = @"^[A-Za-z0-9]{6,12}$";
return Regex.IsMatch(str_password,valExg);
}
/// <summary>
/// 身份证号验证
/// 1、15位或18位
/// </summary>
/// <param name="str_idcard"></param>
/// <returns></returns>
public bool IsIDcard(string str_idcard)
{
string valExg=@"(^\d{18}$)|(^\d{15}$)";
return Regex.IsMatch(str_idcard,valExg);
}
/// <summary>
///带有小数点格式验证
/// </summary>
/// <param name="str_decimal"></param>
/// <returns></returns>
public bool IsDecimal(string str_decimal)
{
string valExg = @"^[0-9]+\.[0-9]+$";
return Regex.IsMatch(str_decimal, valExg);
}
/// <summary>
/// 数值格式验证
/// </summary>
/// <param name="str_intNumber"></param>
/// <returns></returns>
public bool IsIntNumber(string str_intNumber)
{
string valExg = @"^[\+\-]?[1-9][0-9]*$";
return Regex.IsMatch(str_intNumber, valExg);
}
/// <summary>
/// 月份格式验证
/// </summary>
/// <param name="str_Month"></param>
/// <returns></returns>
public bool IsMonth(string str_Month)
{
string valExg = @"^(0?[[1-9]|1[0-2])$";
return Regex.IsMatch(str_Month, valExg);
}
/// <summary>
/// 日期格式验证
/// </summary>
/// <param name="str_day"></param>
/// <returns></returns>
public bool IsDay(string str_day)
{
string valExg = @"^((0?[1-9])|((1|2)[0-9])|30|31)$";
return Regex.IsMatch(str_day, valExg);
}
/// <summary>
///检查字符串中重复出现的单词
/// 1、此方法不是最完美的
/// </summary>
/// <param name="str_txt"></param>
/// <returns></returns>
public string SomeWord(string str_txt)
{
MatchCollection matches = Regex.Matches(str_txt, @"\b(?<word>\w+)[\s\w]+(\k<word>)\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
if (matches.Count != 0)
{
StringBuilder sb = new StringBuilder();
//遍历集合
foreach (Match match in matches)
{
sb.Append(match.Groups["word"].Value+" ");//获取重复出现的单词
}
return "重复单词:" + sb.ToString() + "";
}
else
{
return "没有重复的单词";
}
}
/// <summary>
/// 根据数字进行拆分
/// 1、实例:我1是中4国人->我 是中 国人
/// </summary>
/// <param name="str_txt"></param>
/// <returns></returns>
public string SplitText(string str_txt)
{
StringBuilder sb = new StringBuilder();
string valExg = "[1-9]";//正则格式
string[] p_str = Regex.Split(str_txt,valExg);
foreach (string s in p_str) //遍历拆分后的字符串集合
{
sb.Append(s+" "); //显示字符串
}
return sb.ToString();
}
/// <summary>
/// 检查是否为纯中文
/// </summary>
/// <param name="str_chinese"></param>
/// <returns></returns>
public bool IsChinese(string str_chinese)
{
string valExg = @"^[\u4e00-\u9fa5]{1,}$"; //中文
//string valExg = @"^[A-Za-z]+$"; //英文
return Regex.IsMatch(str_chinese, valExg);
}
/// <summary>
/// 检查电子邮件格式
/// 1、jayfery@126.com
/// </summary>
/// <param name="str_Email"></param>
/// <returns></returns>
public bool IsEmail(string str_Email)
{
string valExg = @"^(([\w\.]+)@(([[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))|((\w+\.?)+)@([a-zA-Z]{2,4}|[0-9]{1,3})(\.[a-zA-Z]{2,4}))$";
return Regex.IsMatch(str_Email, valExg);
}
/// <summary>
/// 检查IP地址格式
/// 127.0.0.1
/// </summary>
/// <param name="IP"></param>
/// <returns></returns>
public bool IPCheck(string IP)
{
string num = @"(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)"; //创建正则表达式字符串
return Regex.IsMatch(IP,("^" + num + "\\." + num + "\\." + num + "\\." + num + "$"));//使用正则表达式判断是否匹配
}
/// <summary>
/// 检查URL地址格式
/// 1、http://www.baidu.com
/// </summary>
/// <param name="str_url"></param>
/// <returns></returns>
public bool IsUrl(string str_url)
{
string valExg = @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
return Regex.IsMatch(str_url, valExg);
}
待续 2011-11-14.。。。。
相关文章推荐
- C#(正则表达式)Regex类的一些常见使用方式
- C#(正则表达式)Regex类的一些常见使用方式
- C#正则表达式操作中使用LINQ
- C# 常用正则表达式及使用方式
- C#使用正则表达式提取GPS信息
- 从网上收集EMail(正则表达式,C#源码)
- C#使用正则表达式过滤html标签
- 正则表达式在c# 与js 中如何使用
- c#使用正则表达式匹配ipv4地址
- 常见正则表达式收集
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C#正则表达式双引号的具体怎么使用
- (转)c# .net 使用正则表达式匹配嵌套Html标签
- (正则表达式)Regex类的一些常见使用方式
- C#中如何使用正则表达式
- C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编
- C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值
- C#中的正则表达式使用
- C#中使用正则表达式来过滤html字符
- C#中使用正则表达式提取超链接地址的集中方法