1. 程式人生 > 實用技巧 >.net工具類——型別判斷

.net工具類——型別判斷

.net工具類——型別判斷

  1. IsDateTime
  2. IsNumeric
  3. IsInt
  4. IsDouble
  5. IsDecimal
  6. IsValidEmail
  7. IsValidDoEmail
  8. IsURL

        #region 型別判斷

        /// <summary>
        /// 判斷物件是否為DateTime型別的日期
        /// </summary>
        /// <param name="Expression"></param>
        /// <returns></returns>
public static bool IsDateTime(string expression) { DateTime dt; if (DateTime.TryParse(expression, out dt)) { return true; } return false; } /// <summary> /// 判斷物件是否為Int32型別的數字
/// </summary> /// <param name="Expression"></param> /// <returns></returns> public static bool IsNumeric(object expression) { if (expression != null) return IsInt(expression.ToString()); return false; }
/// <summary> /// 判斷物件是否為Int32型別的數字 /// </summary> /// <param name="Expression"></param> /// <returns></returns> public static bool IsInt(string expression) { if (expression != null) { int val; if (int.TryParse(expression, out val)) { return true; } } return false; } /// <summary> /// 是否為double型別 /// </summary> /// <param name="expression"></param> /// <returns></returns> public static bool IsDouble(string expression) { if (expression != null) { double val; if (double.TryParse(expression, out val)) { return true; } } return false; } /// <summary> /// 是否為decimal型別 /// </summary> /// <param name="expression"></param> /// <returns></returns> public static bool IsDecimal(string expression) { if (expression != null) { decimal val; if (decimal.TryParse(expression, out val)) { return true; } } return false; } /// <summary> /// 檢測是否符合email格式 /// </summary> /// <param name="strEmail">要判斷的email字串</param> /// <returns>判斷結果</returns> public static bool IsValidEmail(string strEmail) { return Regex.IsMatch(strEmail, @"^[\w\.]+([-]\w+)*@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]"); } public static bool IsValidDoEmail(string strEmail) { return Regex.IsMatch(strEmail, @"^@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); } /// <summary> /// 檢測是否是正確的Url /// </summary> /// <param name="strUrl">要驗證的Url</param> /// <returns>判斷結果</returns> public static bool IsURL(string strUrl) { return Regex.IsMatch(strUrl, @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$"); } #endregion 型別判斷