欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

好東西都需要人去整理、分類

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

用法:

/***擴(kuò)展函數(shù)名細(xì)***/
 
//【IsInRange】 
int num = 100;
//以前寫法
if (num > 100 & num < 1000) { }
//現(xiàn)在寫法
if (num.IsInRange(100, 1000)) { } //datetime類型也支持
 
 
 
//【IsNullOrEmpty】
object s = "";
//以前寫法
if (s == null || string.IsNullOrEmpty(s.ToString())) { }
//現(xiàn)在寫法
if (s.IsNullOrEmpty()) { }
//更順手了沒有 }
 
 
//【IsIn】
string value = "a";
//以前寫法我在很多項(xiàng)目中看到
if (value == "a" || value == "b" || value == "c") {
}
//現(xiàn)在寫法
if (value.IsIn("a", "b", "c")) {
 
}
 
//【IsValuable與IsNullOrEmpty相反】
string ss = "";
//以前寫法
if (!string.IsNullOrEmpty(ss)) { }
//現(xiàn)在寫法
if (s.IsValuable()) { }
 
 
List<string> list = null;
//以前寫法
if (list != null && list.Count > 0) { }
//現(xiàn)在寫法
if (list.IsValuable()) { }
 
 
 
 
//IsIDcard
if ("32061119810104311x".IsIDcard())
{
 
}
 
//IsTelephone
if ("0513-85669884".IsTelephone())
{
 
}
 
//IsMatch 節(jié)約你引用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>
  /// ** 描述:邏輯判段是什么?
  /// ** 創(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>
    /// 是金錢?
    /// </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)文章

  • 一文詳解C#中方法重載的底層玩法

    一文詳解C#中方法重載的底層玩法

    最近在看C++的方法重載,就在想C#中的重載底層是怎么玩的。畢竟很多朋友應(yīng)該知道C是不支持重載的。本文將來詳細(xì)講講C#中方法重載的底層玩法,感興趣的可以了解一下<BR>
    2022-06-06
  • C#實(shí)現(xiàn)讀寫CSV文件的方法詳解

    C#實(shí)現(xiàn)讀寫CSV文件的方法詳解

    項(xiàng)目中經(jīng)常遇到CSV文件的讀寫需求,其中的難點(diǎn)主要是CSV文件的解析。本文會(huì)介紹CsvHelper、TextFieldParser、正則表達(dá)式三種解析CSV文件的方法,需要的可以參考一下
    2022-06-06
  • C#實(shí)現(xiàn)chart控件動(dòng)態(tài)曲線繪制

    C#實(shí)現(xiàn)chart控件動(dòng)態(tài)曲線繪制

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)chart控件動(dòng)態(tài)曲線繪制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#用websocket實(shí)現(xiàn)簡易聊天功能(服務(wù)端)

    C#用websocket實(shí)現(xiàn)簡易聊天功能(服務(wù)端)

    這篇文章主要為大家詳細(xì)介紹了C#用websocket實(shí)現(xiàn)簡易聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Unity3d實(shí)現(xiàn)Flappy Bird游戲

    Unity3d實(shí)現(xiàn)Flappy Bird游戲

    這篇文章主要為大家詳細(xì)介紹了Unity3d實(shí)現(xiàn)Flappy Bird游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • c#多線程之線程基礎(chǔ)

    c#多線程之線程基礎(chǔ)

    本文詳細(xì)講解了c#多線程之線程基礎(chǔ),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#常見的幾種集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍歷方法對比

    C#常見的幾種集合 ArrayList,Hashtable,List<T>,Dictionary<K,

    本文對C#中常見集合ArrayList,Hashtable,List<T>,Dictionary<K,V>遍歷方法做了簡單的對比和介紹,有需要的朋友可以參考一下。
    2016-03-03
  • C#對象與XMl文件之間的相互轉(zhuǎn)換

    C#對象與XMl文件之間的相互轉(zhuǎn)換

    本文是對C#中對象與XMl文件之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • c# 三種方法調(diào)用WebService接口

    c# 三種方法調(diào)用WebService接口

    這篇文章主要介紹了c# 三種方法調(diào)用WebService接口的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • c#使用Unity粒子實(shí)現(xiàn)炮塔發(fā)射系統(tǒng)

    c#使用Unity粒子實(shí)現(xiàn)炮塔發(fā)射系統(tǒng)

    Unity自帶粒子發(fā)射器、動(dòng)畫器、渲染器各兩種,利用Unity的粒子系統(tǒng)制作一個(gè)炮塔發(fā)射系統(tǒng),了解粒子系統(tǒng),必須先了解每一個(gè)屬性都代表了什么,之后才能根據(jù)這些原理來調(diào)整出自己滿意的效果
    2022-04-04

最新評論