X龙@China .Net 'blog

需要的不仅仅是工作,而是通过努力得来的美好将来。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C# 常用方法工具类

Posted on 2011-07-30 15:21  X龙  阅读(530)  评论(1编辑  收藏  举报

 

View Code
public class Utils
{
    #region 验证
    /// <summary>
    
/// 验证日期,格式:yyyy-MM-dd
    
/// </summary>
    
/// <param name="date"></param>
    
/// <returns></returns>
    public static bool IsValidDate(object date)
    {
        if (date == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))$");

        return regex.IsMatch(date.ToString());
    }

    /// <summary>
    
/// 验证email地址
    
/// </summary>
    
/// <param name="email"></param>
    
/// <returns></returns>
    public static bool IsValidEmailAddress(object email)
    {
        if (email == null)
        {
            return false;
        }

        Regex regex = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");

        return regex.IsMatch(email.ToString());
    }

    /// <summary>
    
/// 验证URL
    
/// </summary>
    
/// <param name="url"></param>
    
/// <returns></returns>
    public static bool IsValidURL(object url)
    {
        if (url == null)
        {
            return false;
        }

        Regex regex = new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");

        return regex.IsMatch(url.ToString());
    }

    /// <summary>
    
/// 验证全部为字母
    
/// </summary>
    
/// <param name="character"></param>
    
/// <returns></returns>
    public static bool OnlyCharacters(object character)
    {
        if (character == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^.[A-Za-z]+$");

        return regex.IsMatch(character.ToString());
    }

    /// <summary>
    
/// 验证全部为数字
    
/// </summary>
    
/// <param name="number"></param>
    
/// <returns></returns>
    public static bool OnlyNumber(object number)
    {
        if (number == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^.[0-9]*$");

        return regex.IsMatch(number.ToString());
    }

    /// <summary>
    
/// 验证为日期+时间, 以“-”分隔
    
/// 格式:yyyy-MM-dd hh:mm:ss
    
/// </summary>
    
/// <param name="dateTime"></param>
    
/// <returns></returns>
    public static bool IsValidDateTime(object dateTime)
    {
        if (dateTime == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$");

        return regex.IsMatch(dateTime.ToString());
    }

    /// <summary>
    
/// 验证是否为美国电话号码
    
/// </summary>
    
/// <param name="phone"></param>
    
/// <returns></returns>
    public static bool IsValidUSPhone(object phone)
    {
        if (phone == null)
        {
            return false;
        }

        Regex regex = new Regex(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}");

        return regex.IsMatch(phone.ToString());

    }

    /// <summary>
    
/// 验证美国邮政编码
    
/// </summary>
    
/// <param name="zipcode"></param>
    
/// <returns></returns>
    public static bool IsValidUSZipCode(object zipcode)
    {
        if (zipcode == null)
        {
            return false;
        }

        Regex regex = new Regex(@"\d{5}(-\d{4})?");

        return regex.IsMatch(zipcode.ToString());
    }

    /// <summary>
    
/// 验证是否为韩文
    
/// </summary>
    
/// <param name="korean"></param>
    
/// <returns></returns>
    public static bool IsValidKorean(object korean)
    {
        if (korean == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^.[\uac00-\ud7af\u1100-\u11FF\u3130-\u318f]+$");

        return regex.IsMatch(korean.ToString());
    }

    /// <summary>
    
/// 验证是否为中国手机号码
    
/// </summary>
    
/// <param name="mobile"></param>
    
/// <returns></returns>
    public static bool IsValidCNMobile(object mobile)
    {
        if (mobile == null)
        {
            return false;
        }

        Regex regex = new Regex(@"^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}|15[0-9]\d{8}|18[0-9]\d{8}");

        return regex.IsMatch(mobile.ToString());
    }

    /// <summary>
    
/// 验证是否为中国电话号码
    
/// </summary>
    
/// <param name="phone"></param>
    
/// <returns></returns>
    public static bool IsValidCNPhone(object phone)
    {
        if (phone == null)
        {
            return false;
        }

        Regex regex = new Regex(@"(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}");

        return regex.IsMatch(phone.ToString());
    }

    /// <summary>
    
/// 验证中国邮政编码
    
/// </summary>
    
/// <param name="zipcode"></param>
    
/// <returns></returns>
    public static bool IsValidCNZipCode(object zipcode)
    {
        if (zipcode == null)
        {
            return false;
        }

        Regex regex = new Regex(@"\d{6}");

        return regex.IsMatch(zipcode.ToString());
    }

    /// <summary>
    
/// 验证身份证是否为15位或18位
    
/// </summary>
    
/// <param name="ID"></param>
    
/// <returns></returns>
    public static bool IsValidCNID(object ID)
    {
        if (ID == null)
        {
            return false;
        }

        Regex regex = new Regex(@"d{18}|d{15}");

        return regex.IsMatch(ID.ToString());

    }
    #endregion

    #region 转换
    /// <summary>
    
/// 转换为日期字符串
    
/// </summary>
    
/// <param name="date"></param>
    
/// <returns></returns>
    public static String Object2DateTimeString(object date)
    {
        return Object2DateTimeString(date, null);
    }

    /// <summary>
    
/// 转换为指定格式日期字符串
    
/// </summary>
    
/// <param name="date"></param>
    
/// <param name="dateFormat"></param>
    
/// <returns></returns>
    public static String Object2DateTimeString(object date, String dateFormat)
    {
        // 如果date为空,返回空字符串
        if (date == null || String.IsNullOrEmpty(date.ToString()))
        {
            return String.Empty;
        }

        try
        {
            // 如果没有设置日期格式,返回默认格式
            if (!String.IsNullOrEmpty(dateFormat))
            {
                return Convert.ToDateTime(date).ToString();
            }
            else
            {
                return Convert.ToDateTime(date).ToString(dateFormat);
            }
        }
        catch
        {
            return String.Empty;
        }
    }

    /// <summary>
    
/// 转换对日期格式
    
/// </summary>
    
/// <param name="date"></param>
    
/// <param name="replaceDate">转换失败时用于返回的值</param>
    
/// <returns></returns>
    public static DateTime Object2DateTime(object date, DateTime replaceDate)
    {
        string dateString = Object2DateTimeString(date);

        if (dateString.Length > 0)
        {
            return Convert.ToDateTime(dateString);
        }

        return replaceDate;
    }

    /// <summary>
    
/// 转换开始日期
    
/// </summary>
    
/// <param name="date"></param>
    
/// <returns></returns>
    public static DateTime Object2StartDate(object date)
    {
        return Object2DateTime(date, DateTime.MinValue);
    }

    /// <summary>
    
/// 转换结束日期
    
/// </summary>
    
/// <param name="date"></param>
    
/// <returns></returns>
    public static DateTime Object2EndDate(object date)
    {
        return Object2DateTime(date, DateTime.MaxValue);
    }

    /// <summary>
    
/// 转换为Int32
    
/// </summary>
    
/// <param name="iVal"></param>
    
/// <param name="replaceVal"></param>
    
/// <returns></returns>
    public static Int32 Object2Int32(object iVal, int replaceVal)
    {
        if (iVal == null)
        {
            return replaceVal;
        }

        try
        {
            return Convert.ToInt32(iVal);
        }
        catch
        {
            return replaceVal;
        }
    }

    /// <summary>
    
/// 转换成单精度浮点型
    
/// </summary>
    
/// <param name="fVal"></param>
    
/// <param name="replaceVal"></param>
    
/// <returns></returns>
    public static Single Object2Single(object fVal, Single replaceVal)
    {
        if (fVal == null)
        {
            return replaceVal;
        }

        try
        {
            return Convert.ToSingle(fVal);
        }
        catch
        {
            return replaceVal;
        }
    }

    /// <summary>
    
/// 转换成Decimal
    
/// </summary>
    
/// <param name="dVal"></param>
    
/// <param name="replaceVal"></param>
    
/// <returns></returns>
    public static Decimal Object2Decimal(object dVal, Decimal replaceVal)
    {
        if (dVal == null)
        {
            return replaceVal;
        }

        try
        {
            return Convert.ToDecimal(dVal);
        }
        catch
        {
            return replaceVal;
        }
    }

    /// <summary>
    
/// 转换成单精度浮点型
    
/// </summary>
    
/// <param name="dVal"></param>
    
/// <param name="replaceVal"></param>
    
/// <returns></returns>
    public static Double Object2Double(object dVal, Double replaceVal)
    {
        if (dVal == null)
        {
            return replaceVal;
        }

        try
        {
            return Convert.ToDouble(dVal);
        }
        catch
        {
            return replaceVal;
        }
    }

    /// <summary>
    
/// 转换为Boolean类型。
    
/// 1. 如果值为1:true, 0:false
    
/// 2. 使用Convert.ToBoolean转换
    
/// </summary>
    
/// <param name="bVal"></param>
    
/// <returns></returns>
    public static Boolean Object2Boolean(object bVal)
    {
        if (bVal == null)
        {
            return false;
        }

        if (string.Equals(bVal.ToString(), "1"))
        {
            return true;
        }

        if (string.Equals(bVal.ToString(), "0"))
        {
            return false;
        }

        try
        {
            return Convert.ToBoolean(bVal);
        }
        catch
        {
            return false;
        }
    }

    /// <summary>
    
/// 将带小数数值形转换成字符串,非小数返回null(默认不保留无效位)
    
/// </summary>
    
/// <param name="val">数值类型</param>
    
/// <param name="saveLocation">保留小数位</param>
    
/// <returns></returns>
    public static String Number2String(ValueType val, int saveLocation)
    {
        return Number2String(val, saveLocation, false);
    }

    /// <summary>
    
/// 将带小数数值形转换成字符串,非小数返回null
    
/// </summary>
    
/// <param name="val">小数</param>
    
/// <param name="saveLocation">保留小数位</param>
    
/// <param name="saveInvalidNum">是否保留无效位(如:0.50,true:0.50, false:0.5</param>
    
/// <returns></returns>
    public static String Number2String(ValueType val, int saveLocation, bool saveInvalidNum)
    {
        char ch = saveInvalidNum ? '0' : '#';
        String format = "0.".PadRight(saveLocation + 2, ch);

        string result = null;

        if (val is Single)
        {
            result = ((Single)val).ToString(format);
        }

        if (val is Double)
        {
            result = ((Double)val).ToString(format);
        }

        if (val is Decimal)
        {
            result = ((Decimal)val).ToString(format);
        }

        return result;
    }
    #endregion

    #region 数据工具
    /// <summary>
    
/// DataSet第一个表是否有数据
    
/// </summary>
    
/// <param name="ds">DataSet</param>
    
/// <returns>true/false</returns>
    public static bool DsHasData(DataSet ds)
    {
        if (ds != null && ds.Tables.Count > 0
            && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
        {
            return true;
        }

        return false;
    }

    /// <summary>
    
/// 检查DataTable是否有数据
    
/// </summary>
    
/// <param name="dt">DataTable</param>
    
/// <returns>true/false</returns>
    public static bool DtHasData(DataTable dt)
    {
        if (dt != null && dt.Rows.Count > 0)
        {
            return true;
        }

        return false;
    }
    #endregion
}

 

点击这里给我发消息http://wp.qq.com/index.html