最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#、ASP.NET通用工具類(lèi)IsWhat?(可以判斷數(shù)字、身份證、數(shù)據(jù)類(lèi)型等等)

 更新時(shí)間:2015年06月08日 09:48:52   投稿:junjie  
這篇文章主要介紹了C#、ASP.NET通用工具類(lèi)IsWhat?(可以判斷數(shù)字、身份證、數(shù)據(jù)類(lèi)型等等),本文收集整理了多個(gè)擴(kuò)展函數(shù),簡(jiǎn)單實(shí)用,項(xiàng)目必備,如值范圍、在里面嗎、是null或""?、是零?等等,需要的朋友可以參考下

好東西都需要人去整理、分類(lèi)

注意:需要引用命名空間 SyntacticSugar

用法:

/***擴(kuò)展函數(shù)名細(xì)***/
 
//【IsInRange】 
int num = 100;
//以前寫(xiě)法
if (num > 100 & num < 1000) { }
//現(xiàn)在寫(xiě)法
if (num.IsInRange(100, 1000)) { } //datetime類(lèi)型也支持
 
 
 
//【IsNullOrEmpty】
object s = "";
//以前寫(xiě)法
if (s == null || string.IsNullOrEmpty(s.ToString())) { }
//現(xiàn)在寫(xiě)法
if (s.IsNullOrEmpty()) { }
//更順手了沒(méi)有 }
 
 
//【IsIn】
string value = "a";
//以前寫(xiě)法我在很多項(xiàng)目中看到
if (value == "a" || value == "b" || value == "c") {
}
//現(xiàn)在寫(xiě)法
if (value.IsIn("a", "b", "c")) {
 
}
 
//【IsValuable與IsNullOrEmpty相反】
string ss = "";
//以前寫(xiě)法
if (!string.IsNullOrEmpty(ss)) { }
//現(xiàn)在寫(xiě)法
if (s.IsValuable()) { }
 
 
List<string> list = null;
//以前寫(xiě)法
if (list != null && list.Count > 0) { }
//現(xiàn)在寫(xiě)法
if (list.IsValuable()) { }
 
 
 
 
//IsIDcard
if ("32061119810104311x".IsIDcard())
{
 
}
 
//IsTelephone
if ("0513-85669884".IsTelephone())
{
 
}
 
//IsMatch 節(jié)約你引用Regex的命名空間了
if ("我中國(guó)人12".IsMatch(@"人\d{2}")) { }
 
 
//下面還有很多太簡(jiǎn)單了的就不介紹了
//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>
  /// ** 描述:邏輯判段是什么?
  /// ** 創(chuàng)始時(shí)間:2015-5-29
  /// ** 修改時(shí)間:-
  /// ** 作者:sunkaixuan
  /// </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() == 0) return false;
      return true;
    }
 
    /// <summary>
    /// 是零?
    /// </summary>
    /// <param name="o"></param>
    /// <returns></returns>
    public static bool IsZero(this object o)
    {
      return (o == null || o.ToString() == "0");
    }
 
    /// <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>
    /// 是金錢(qián)?
    /// </summary>
    /// <param name="o"></param>
    /// <returns></returns>
    public static bool IsMoney(this object o)
    {
      if (o == null) return false;
      double outValue = 0;
      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>
    /// 是手機(jī)?
    /// </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>
    /// 是座機(jī)?
    /// </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());
    }
  }
}

相關(guān)文章

  • Unity Shader片段著色器使用基礎(chǔ)詳解

    Unity Shader片段著色器使用基礎(chǔ)詳解

    頂點(diǎn)-片段著色器是Unity Shader中最基礎(chǔ)的著色器類(lèi)型,用于控制3D模型的渲染效果。通過(guò)頂點(diǎn)著色器計(jì)算模型的頂點(diǎn)位置和法線方向,再通過(guò)片段著色器計(jì)算模型表面的顏色、光照、陰影等效果
    2023-05-05
  • C#控制臺(tái)程序中處理2個(gè)關(guān)閉事件的代碼實(shí)例

    C#控制臺(tái)程序中處理2個(gè)關(guān)閉事件的代碼實(shí)例

    這篇文章主要介紹了C#控制臺(tái)程序中處理2個(gè)關(guān)閉事件的代碼實(shí)例,本文中的2個(gè)關(guān)閉事件是指Ctrl+C事件和窗口的關(guān)閉按鈕事件,需要的朋友可以參考下
    2014-09-09
  • C#的字符串比較

    C#的字符串比較

    這篇文章主要介紹了c# 字符串操作的相關(guān)知識(shí),文中講解的非常詳細(xì),代碼幫助大家更好的學(xué)習(xí),感興趣的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-07-07
  • C#導(dǎo)航器Xpath與XPathNavigator類(lèi)

    C#導(dǎo)航器Xpath與XPathNavigator類(lèi)

    這篇文章介紹了C#導(dǎo)航器Xpath與XPathNavigator類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#中把字符串String轉(zhuǎn)換為整型Int的小例子

    C#中把字符串String轉(zhuǎn)換為整型Int的小例子

    這篇文章主要介紹了C#中把字符串String轉(zhuǎn)換為整型Int的小例子,本文使用TryParse方法實(shí)現(xiàn)轉(zhuǎn)換,需要的朋友可以參考下
    2014-08-08
  • 全面分析c# LINQ

    全面分析c# LINQ

    這篇文章主要介紹了c# LINQ的相關(guān)資料,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-08-08
  • 深入c#繪制驗(yàn)證碼的詳解

    深入c#繪制驗(yàn)證碼的詳解

    本篇文章是對(duì)用c#繪制驗(yàn)證碼的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C# 實(shí)現(xiàn)FTP上傳資料的示例

    C# 實(shí)現(xiàn)FTP上傳資料的示例

    這篇文章主要介紹了C# 實(shí)現(xiàn)FTP上傳資料的示例,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-12-12
  • C#設(shè)計(jì)模式之Mediator中介者模式解決程序員的七夕緣分問(wèn)題示例

    C#設(shè)計(jì)模式之Mediator中介者模式解決程序員的七夕緣分問(wèn)題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Mediator中介者模式解決程序員的七夕緣分問(wèn)題,簡(jiǎn)單說(shuō)明了中介者模式的定義并結(jié)合七夕緣分問(wèn)題實(shí)例分析了中介者模式的具體使用技巧,需要的朋友可以參考下
    2017-09-09
  • C#在MEF框架中實(shí)現(xiàn)延遲加載部件

    C#在MEF框架中實(shí)現(xiàn)延遲加載部件

    這篇文章介紹了C#在MEF框架中實(shí)現(xiàn)延遲加載部件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論

井冈山市| 宜兰市| 永善县| 包头市| 富平县| 湟源县| 溧水县| 虞城县| 石城县| 错那县| 美姑县| 铜鼓县| 双峰县| 安顺市| 梁山县| 屯留县| 临江市| 绥中县| 靖江市| 铁岭市| 明水县| 沧州市| 兖州市| 衡南县| 江源县| 平度市| 三都| 桂阳县| 太白县| 德惠市| 宝应县| 周宁县| 柳林县| 军事| 杭锦后旗| 长丰县| 临沂市| 太白县| 隆昌县| 乌鲁木齐县| 重庆市|