C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
好东西都需要人去整理、分类
注意:需要引用命名空间SyntacticSugar
用法:
/***扩展函数名细***/
//【IsInRange】
intnum=100;
//以前写法
if(num>100&num<1000){}
//现在写法
if(num.IsInRange(100,1000)){}//datetime类型也支持
//【IsNullOrEmpty】
objects="";
//以前写法
if(s==null||string.IsNullOrEmpty(s.ToString())){}
//现在写法
if(s.IsNullOrEmpty()){}
//更顺手了没有}
//【IsIn】
stringvalue="a";
//以前写法我在很多项目中看到
if(value=="a"||value=="b"||value=="c"){
}
//现在写法
if(value.IsIn("a","b","c")){
}
//【IsValuable与IsNullOrEmpty相反】
stringss="";
//以前写法
if(!string.IsNullOrEmpty(ss)){}
//现在写法
if(s.IsValuable()){}
List<string>list=null;
//以前写法
if(list!=null&&list.Count>0){}
//现在写法
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
源码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Text.RegularExpressions;
namespaceSyntacticSugar
{
///<summary>
///**描述:逻辑判段是什么?
///**创始时间:2015-5-29
///**修改时间:-
///**作者:sunkaixuan
///</summary>
publicstaticclassIsWhat
{
///<summary>
///值在的范围?
///</summary>
///<paramname="o"></param>
///<paramname="begin">大于等于begin</param>
///<paramname="end">小于等于end</param>
///<returns></returns>
publicstaticboolIsInRange(thisinto,intbegin,intend)
{
returno>=begin&&o<=end;
}
///<summary>
///值在的范围?
///</summary>
///<paramname="o"></param>
///<paramname="begin">大于等于begin</param>
///<paramname="end">小于等于end</param>
///<returns></returns>
publicstaticboolIsInRange(thisDateTimeo,DateTimebegin,DateTimeend)
{
returno>=begin&&o<=end;
}
///<summary>
///在里面吗?
///</summary>
///<typeparamname="T"></typeparam>
///<paramname="o"></param>
///<paramname="values"></param>
///<returns></returns>
publicstaticboolIsIn<T>(thisTo,paramsT[]values)
{
returnvalues.Contains(o);
}
///<summary>
///是null或""?
///</summary>
///<returns></returns>
publicstaticboolIsNullOrEmpty(thisobjecto)
{
if(o==null||o==DBNull.Value)returntrue;
returno.ToString()=="";
}
///<summary>
///是null或""?
///</summary>
///<returns></returns>
publicstaticboolIsNullOrEmpty(thisGuid?o)
{
if(o==null)returntrue;
returno==Guid.Empty;
}
///<summary>
///是null或""?
///</summary>
///<returns></returns>
publicstaticboolIsNullOrEmpty(thisGuido)
{
if(o==null)returntrue;
returno==Guid.Empty;
}
///<summary>
///有值?(与IsNullOrEmpty相反)
///</summary>
///<returns></returns>
publicstaticboolIsValuable(thisobjecto)
{
if(o==null)returnfalse;
returno.ToString()!="";
}
///<summary>
///有值?(与IsNullOrEmpty相反)
///</summary>
///<returns></returns>
publicstaticboolIsValuable(thisIEnumerable<object>o)
{
if(o==null||o.Count()==0)returnfalse;
returntrue;
}
///<summary>
///是零?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsZero(thisobjecto)
{
return(o==null||o.ToString()=="0");
}
///<summary>
///是INT?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsInt(thisobjecto)
{
if(o==null)returnfalse;
returnRegex.IsMatch(o.ToString(),@"^\d+$");
}
///<summary>
///不是INT?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsNoInt(thisobjecto)
{
if(o==null)returntrue;
return!Regex.IsMatch(o.ToString(),@"^\d+$");
}
///<summary>
///是金钱?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsMoney(thisobjecto)
{
if(o==null)returnfalse;
doubleoutValue=0;
returndouble.TryParse(o.ToString(),outoutValue);
}
///<summary>
///是邮箱?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsEamil(thisobjecto)
{
if(o==null)returnfalse;
returnRegex.IsMatch(o.ToString(),@"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$");
}
///<summary>
///是手机?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsMobile(thisobjecto)
{
if(o==null)returnfalse;
returnRegex.IsMatch(o.ToString(),@"^\d{11}$");
}
///<summary>
///是座机?
///</summary>
publicstaticboolIsTelephone(thisobjecto)
{
if(o==null)returnfalse;
returnSystem.Text.RegularExpressions.Regex.IsMatch(o.ToString(),@"^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}$");
}
///<summary>
///是身份证?
///</summary>
///<paramname="o"></param>
///<returns></returns>
publicstaticboolIsIDcard(thisobjecto)
{
if(o==null)returnfalse;
returnSystem.Text.RegularExpressions.Regex.IsMatch(o.ToString(),@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
}
///<summary>
///是适合正则匹配?
///</summary>
///<paramname="o"></param>
///<paramname="begin">大于等于begin</param>
///<paramname="end">小于等于end</param>
///<returns></returns>
publicstaticboolIsMatch(thisobjecto,stringpattern)
{
if(o==null)returnfalse;
Regexreg=newRegex(pattern);
returnreg.IsMatch(o.ToString());
}
}
}