public static class ValidateHelper
{
/// <summary>
/// 验证是否为Email
/// </summary>
/// <param name="strEmail">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsEmail(this string strEmail)
{
return Regex.IsMatch(strEmail, @"^\w+((-w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$");
}

/// <summary>
/// 验证是否为正数
/// </summary>
/// <param name="strNum">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsUInt(this string strNum)
{
return Regex.IsMatch(strNum, @"^[0-9]\d*|0$");
}

/// <summary>
/// 验证是否为整数
/// </summary>
/// <param name="strNum">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsInt(this string strNum)
{
return Regex.IsMatch(strNum, @"^-?[1-9]\d*$");
}

/// <summary>
/// 验证是否为小数
/// </summary>
/// <param name="strNum">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsFloat(this string strNum)
{
return Regex.IsMatch(strNum, @"^-?([1-9]\d*|0(?!\.0+$))\.\d+?$");
}

/// <summary>
/// 验证是否为正的小数
/// </summary>
/// <param name="strNum">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsUFloat(this string strNum)
{
return Regex.IsMatch(strNum, @"^[1-9]\d*.\d*|0.\d*[1-9]\d*$");
}

/// <summary>
/// 验证是否为日期(匹配规则为:2013.12.23)
/// </summary>
/// <param name="strDate">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsDate(this string strDate)
{
DateTime dt = DateTime.MinValue;
return DateTime.TryParse(strDate, out dt);
}

/// <summary>
/// 验证是否为大写字母
/// </summary>
/// <param name="str">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsUpper(this string str)
{
return Regex.IsMatch(str, @"^[A-Z]+$");
}

/// <summary>
/// 验证是否为小写字母
/// </summary>
/// <param name="str">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsLower(this string str)
{
return Regex.IsMatch(str, @"^[a-z]+$");
}

/// <summary>
/// 验证是否为色码值
/// </summary>
/// <param name="strColor">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsColorCode(this string strColor)
{
return Regex.IsMatch(strColor, @"^#[a-fA-F0-9]{6}$");
}

/// <summary>
/// 验证是否为手机号码
/// </summary>
/// <param name="strMobile">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsMobile(this string strMobile)
{
return Regex.IsMatch(strMobile, @"^(1(([0-9][0-9])|(47)|[8][012356789]))\d{8}$");
}

/// <summary>
/// 验证是否为座机号码
/// </summary>
/// <param name="strPhone">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsPhone(this string strPhone)
{
return Regex.IsMatch(strPhone, @"^0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9}$");
}

/// <summary>
/// 验证是否为IP地址
/// </summary>
/// <param name="strIPAddress">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsIP(this string strIPAddress)
{
return Regex.IsMatch(strIPAddress, @"^((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))$");
}

/// <summary>
/// 验证是否为有效的登录密码(6到16位任意数字与字母组合)
/// </summary>
/// <param name="strPwd">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsLoginPwd(this string strPwd)
{
// var regex = new Regex(@"
// (?=.*\d) #必须包含数字
// (?=.*[a-zA-Z]) #必须包含小写或大写字母
// .{6,16} #至少6个字符,最多16个字符
// ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

var regex = new Regex(@"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
return regex.IsMatch(strPwd);
}

/// <summary>
/// 验证是否为中文
/// </summary>
/// <param name="strCn">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsChinese(this string strCn)
{
return Regex.IsMatch(strCn, @"^[\u4e00-\u9fa5]+$");
}

/// <summary>
/// 验证是否为中文姓名
/// </summary>
/// <param name="strCnName">验证字符串</param>
/// <returns>true-是,false-否</returns>
public static bool IsCnName(this string strCnName)
{
return Regex.IsMatch(strCnName, @"^[\u4E00-\u9FA5]+(?:((·|\.|\.)[\u4E00-\u9FA5]+))*$");
}

转载于:https://www.cnblogs.com/ycl258/p/7808257.html

c#常见的正则表达式相关推荐

  1. android 1到100000 正则,day13 Java学习(常见对象正则表达式)

    常见对象(正则表达式) 概述: 指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.(其实就是一种规则) 检验方法: matches() 格式:"*******".m ...

  2. day13 Java学习(常见对象正则表达式)

    常见对象(正则表达式) 概述: 指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.(其实就是一种规则) 检验方法: matches() 格式:"*******".m ...

  3. 【正则表达式】——10个非常常见的正则表达式案例,轻松搞定正则表达式

    正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找.替换符合规则的字符串.在表单验证.Url映射等处都会经常用到. 在写正则表达式的时候,我们需要把模式写入一对//正斜杠里面 /正则表达式/ ...

  4. 转载:常见的正则表达式

    匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [ ...

  5. 常见c#正则表达式类学习整理

    1.MatchCollection类 用于输入字符串所找到的成功匹配的集合,Regex.Matches 方法返回 MatchCollection 对象 用法 //str:要搜索匹配项的字符串 patt ...

  6. java sql注入正则表达式_php防止sql注入示例分析和几种常见攻击正则表达式

    注入漏洞代码和分析 function customError($errno, $errstr, $errfile, $errline) { echo "Error number: [$err ...

  7. 常见的正则表达式校验

    在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理. 1.匹配中文:[\u4e00-\u9fa5] 2.英文字母:[a-zA- ...

  8. 14.常见对象(正则表达式,Pattern和Matcher类,Math类,Random类,System类,BigDecimal类,Date类,SimpleDateFormat类,Calendar类)

    1.正则表达式的概述和简单使用 1.正则表达式:正确规则的表达式 规则java给我们定的     是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用 ...

  9. 【python】常见的正则表达式用法;匹配字符串

    本文仅仅展现了python正则表达式中的一小部分内容,但是包含了实际应用中非常被频繁使用的例子,本文重在举例,即不需要相关语法知识就能够会用~ 目录 re.match() re.findall() 匹 ...

  10. 常见的正则表达式验证(更新中)

    1.数字验证 var r = /^[0-9]*[1-9][0-9]*$/;if (r.test(stayDays) == false) {alert("天数输入有误");retur ...

最新文章

  1. footer在最低显示
  2. 2015年蓝汛面试题
  3. dgi数据治理_荐书 | 5G时代组织急需数据体检
  4. ES6学习笔记(六)数组的扩展
  5. 大数据— Hadoop
  6. DNS 教父怒喷 DNS-over-HTTPS!
  7. Effective C# 原则42:使用特性进行简单的反射(译)
  8. 安卓能硬改的手机机型_这款iPhone手机专属特效AR相机,我真的爱了
  9. 数学知识——博弈论(巴什博奕、尼姆博奕、威佐夫博奕)思路及例题
  10. 威纶触摸屏与电脑连接_威纶通触摸屏和西门子PLC通讯不上解决方法
  11. neovim安装dein.vim
  12. 黑客是什么,什么是黑客,它起源于什么,黑客是干什么的 ,真的,有所谓的“黑客帝国”吗?
  13. 情感分类模型介绍CNN、RNN、LSTM、栈式双向LSTM
  14. 华为鸿蒙新闻短评,科技圈“某高管”发表对华为鸿蒙的看法,遭网友回怼
  15. 天辰的救赎(JS)第四章(组合元素)
  16. 【报告分享】2021年度小红书高效种草营销手册-标记我的生活-小红书(附下载)
  17. jr某头条新闻爬虫(超详细)
  18. 基于java的教学管理系统设计(含源文件)
  19. HTML img标签识别base64图片格式
  20. 用C++代码实现哔哩哔哩BV号转AV号

热门文章

  1. js声明数组 js数组如何获取真实对象 js数组处理null值情况 js数组通过下标赋值和push赋值的区别 loopback4的基础使用
  2. 为什么需要考虑浏览器兼容,浏览器渲染引擎在浏览器中的作用是什么样的?
  3. 移动端(iphone)上使用canvas绘图,为canvas添加了监听点击事件,结果在iphone上点击会出现闪屏
  4. 期望、方差、协方差、相关系数的理解
  5. EOS dApp 漏洞盘点分析-EOSBet 假充值漏洞2
  6. 小说作者推荐:满月未知子合集
  7. webstorm安装介绍
  8. android记账本APP开发
  9. 要如何搭配华硕路由器的WiFi使用时间机器(Time Machine)备份Macintosh设备?
  10. 微信小程序界面设计——自定义一个好看的头图