You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;using System.Threading;
namespace Shentun.Utilities{ public class ArgumentValidation { #region 判断对象是否为空
/// <summary>
/// 判断对象是否为空,为空返回true
/// </summary>
/// <typeparam name="T">要验证的对象的类型</typeparam>
/// <param name="data">要验证的对象</param>
public static bool IsNull<T>(T data) { //如果为null
if (data == null) { return true; }
//如果为""
if (data.GetType() == typeof(String)) { if (string.IsNullOrWhiteSpace(data.ToString().Trim())) { return true; } }
//如果为DBNull
if (data.GetType() == typeof(DBNull)) { return true; }
//不为空
return false; }
/// <summary>
/// 判断对象是否为空,为空返回true
/// </summary>
/// <param name="data">要验证的对象</param>
public static bool IsNull(object data) { //如果为null
if (data == null) { return true; }
//如果为""
if (data.GetType() == typeof(String)) { if (string.IsNullOrWhiteSpace(data.ToString().Trim())) { return true; } }
//如果为DBNull
if (data.GetType() == typeof(DBNull)) { return true; }
//不为空
return false; } public static void CheckNull<T>(T data, string variableName) { if (IsNull<T>(data)) { throw new Exception(variableName + "不能为空"); } if(data is DateTime) { DateTime? dateTime ; dateTime = data as DateTime?; if (dateTime <= new DateTime(1900,1,1)) { throw new Exception(variableName + "不能为空"); } } }
public static bool IsNumber(string value) { try { decimal data = 0.0m; if(value.ToUpper().Contains("E")) { data = Convert.ToDecimal(Decimal.Parse(value.ToString(), System.Globalization.NumberStyles.Float)); } else { data = Convert.ToDecimal(value); } return true; } catch(Exception ex) { return false; } //return Regex.IsMatch(value, "[\\+-]?[0-9]*(\\.[0-9])?([eE][\\+-]?[0-9]+)?");
}
public static void CheckIdNo(string idNo) { if(string.IsNullOrWhiteSpace(idNo)) { throw new Exception("身份证号不能是空值"); } if (idNo.Length != 18) throw new Exception("身份证号长度必须为18位");
var birthDate = Convert.ToDateTime(idNo.Substring(6, 4) + "-" + idNo.Substring(10, 2) + "-" + idNo.Substring(12, 2)); if (birthDate < new DateTime(1880, 1, 1) || birthDate > DateTime.Now.Date) { throw new Exception("身份证号中的出生日期不正确"); } } #endregion
}}
|