代码实现:

/***扩展函数名细***/

//【IsInRange】
int num = ;
//以前写法
if (num > & num < ) { }
//现在写法
if (num.IsInRange(, )) { } //datetime类型也支持 //【IsNullOrEmpty】
object s = "";
//以前写法
if (s == null || string.IsNullOrEmpty(s.ToString())) { }
//现在写法
if (s.IsNullOrEmpty()) { }
//更顺手了没有 } //【IsIn】
string value = "a";
//以前写法我在很多项目中看到
if (value == "a" || value == "b" || value == "c") {
}
//现在写法
if (value.IsIn("a", "b", "c")) { } //【IsValuable与IsNullOrEmpty相反】
string ss = "";
//以前写法
if (!string.IsNullOrEmpty(ss)) { }
//现在写法
if (s.IsValuable()) { } List<string> list = null;
//以前写法
if (list != null && list.Count > ) { }
//现在写法
if (list.IsValuable()) { } //IsIDcard
if ("32061119810104311x".IsIDcard())
{ } //IsTelephone
if ("0513-85669884".IsTelephone())
{ } //IsMatch 节约你引用Regex的命名空间了
if ("我中国人12".IsMatch(@"人\d{2}")) { } //下面还有很多太简单了的就不介绍了
//IsZero
//IsInt
//IsNoInt
//IsMoney
//IsEamil
//IsMobile

封装类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions; namespace SyntacticSugar
{
/// <summary>
/// ** 描述:逻辑判段是什么?
/// ** 创始时间:2015-5-29
/// ** 修改时间:-
/// ** 作者:sunkaixuan
/// ** 使用说明:http://www.cnblogs.com/sunkaixuan/p/4539654.html
/// </summary>
public static class IsWhat
{
/// <summary>
/// 值在的范围?
/// </summary>
/// <param name="o"></param>
/// <param name="begin">大于等于begin</param>
/// <param name="end">小于等于end</param>
/// <returns></returns>
public static bool IsInRange(this int o, int begin, int end)
{
return o >= begin && o <= end;
}
/// <summary>
/// 值在的范围?
/// </summary>
/// <param name="o"></param>
/// <param name="begin">大于等于begin</param>
/// <param name="end">小于等于end</param>
/// <returns></returns>
public static bool IsInRange(this DateTime o, DateTime begin, DateTime end)
{
return o >= begin && o <= end;
} /// <summary>
/// 在里面吗?
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="o"></param>
/// <param name="values"></param>
/// <returns></returns>
public static bool IsIn<T>(this T o, params T[] values)
{
return values.Contains(o);
} /// <summary>
/// 是null或""?
/// </summary>
/// <returns></returns>
public static bool IsNullOrEmpty(this object o)
{
if (o == null || o == DBNull.Value) return true;
return o.ToString() == "";
}
/// <summary>
/// 是null或""?
/// </summary>
/// <returns></returns>
public static bool IsNullOrEmpty(this Guid? o)
{
if (o == null) return true;
return o == Guid.Empty;
}
/// <summary>
/// 是null或""?
/// </summary>
/// <returns></returns>
public static bool IsNullOrEmpty(this Guid o)
{
if (o == null) return true;
return o == Guid.Empty;
} /// <summary>
/// 有值?(与IsNullOrEmpty相反)
/// </summary>
/// <returns></returns>
public static bool IsValuable(this object o)
{
if (o == null) return false;
return o.ToString() != "";
}
/// <summary>
/// 有值?(与IsNullOrEmpty相反)
/// </summary>
/// <returns></returns>
public static bool IsValuable(this IEnumerable<object> o)
{
if (o == null || o.Count() == ) return false;
return true;
} /// <summary>
/// 是零?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsZero(this object o)
{
return (o == null || o.ToString() == "");
} /// <summary>
/// 是INT?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsInt(this object o)
{
if (o == null) return false;
return Regex.IsMatch(o.ToString(), @"^\d+$");
}
/// <summary>
/// 不是INT?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsNoInt(this object o)
{
if (o == null) return true;
return !Regex.IsMatch(o.ToString(), @"^\d+$");
} /// <summary>
/// 是金钱?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsMoney(this object o)
{
if (o == null) return false;
double outValue = ;
return double.TryParse(o.ToString(), out outValue);
} /// <summary>
/// 是邮箱?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsEamil(this object o)
{
if (o == null) return false;
return Regex.IsMatch(o.ToString(), @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
} /// <summary>
/// 是手机?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsMobile(this object o)
{
if (o == null) return false;
return Regex.IsMatch(o.ToString(), @"^\d{11}$");
} /// <summary>
/// 是座机?
/// </summary>
public static bool IsTelephone(this object o)
{
if (o == null) return false;
return System.Text.RegularExpressions.Regex.IsMatch(o.ToString(), @"^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}$"); } /// <summary>
/// 是身份证?
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static bool IsIDcard(this object o)
{
if (o == null) return false;
return System.Text.RegularExpressions.Regex.IsMatch(o.ToString(), @"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
} /// <summary>
///是适合正则匹配?
/// </summary>
/// <param name="o"></param>
/// <param name="begin">大于等于begin</param>
/// <param name="end">小于等于end</param>
/// <returns></returns>
public static bool IsMatch(this object o, string pattern)
{
if (o == null) return false;
Regex reg = new Regex(pattern);
return reg.IsMatch(o.ToString());
}
}
}

最新文章

  1. Java防止SQL注入(转)
  2. 2016年12月29日 星期四 --出埃及记 Exodus 21:24
  3. SQL Pass北京举办第11次线下活动,欢迎报名(本次活动特别邀请了来自微软总部Xin Jin博士)
  4. telnet: connect to address xxxxxxx: No route to host
  5. &#39;str&#39; object is not callable
  6. day5----正则
  7. ie7下 滚动条内容不动问题
  8. Hadoop基础教程-运行环境搭建
  9. 基于Struts2框架实现登录案例 之 程序国际化
  10. 华为HCNA教程(笔记)
  11. 什么是EF, 和 Entity Framework Demo简单构建一个良好的发展环境
  12. hibernate 使用枚举字段的最佳实践
  13. div模拟textarea文本域轻松实现高度自适应
  14. BZOJ 3157: 国王奇遇记 (数学)
  15. mac相关功能
  16. 【C#复习总结】细说 Lambda表达式
  17. Vue-cli添加全局js
  18. redis 的备份策略,最好使用:RDB-AOF 混合持久化
  19. C语言动态链表数据结构实现的学生信息项目
  20. 用ASP.NET实现下载远程图片保存到本地的方法 保存抓取远程图片的方法

热门文章

  1. Spring Boot (18) @Async异步
  2. Equals相關的一些要點
  3. AdaBoost--从原理到实现(Code:Python)
  4. Matlab移植到Eigen用到的词条
  5. php 加密解密函数封装
  6. linux下怎么退出telnet
  7. myeclipse中代码不显示SVN版本号
  8. RecyclerView 悬浮/粘性头部效果3种方式
  9. res对象json,redirect
  10. 如何查看系统的界面,比如费用申请单的序时簿界面引用的是哪一个ListUi.快捷键alt+shift+d 然后选中该ListUI大框框,就可以看到引用的是哪一个了.