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()); } } }