Asp.Net类型转换类(通用类)代码分享

时间:2021-05-28

废话不多说了,直接给大家贴代码了,具体代码如下所述:

/// <summary> /// 类型转换类 /// 处理数据库获取字段为空的情况 /// </summary> public static class DBConvert { #region------------------ToInt32类型转换------------------ /// <summary> /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// </summary> /// <param name="obj">object类型的值</param> /// <returns>Int32类型</returns> public static int ToInt32(object obj) { int result = 0; if (IsInt(Convert.ToString(obj))) { result = Convert.ToInt32(obj); } else if (obj != null && obj is Enum) //处理非null值类型时(或者枚举) { result = ((IConvertible)obj).ToInt32(null); } return result; } /// <summary> /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// </summary> /// <param name="str">string类型的值</param> /// <returns>Int32类型</returns> public static int ToInt32(string str) { int result = 0; if (IsInt(str)) { result = Convert.ToInt32(str); } return result; } /// <summary> /// 判断一个字符串是否属于Int类型 /// 如果是的返回true,如果不是返回false /// </summary> /// <param name="str">string类型的值</param> /// <returns>true:是Int的字符串(即可以转换成Int类型),false:不是Int类型的字符串</returns> public static bool IsInt(string str) { bool result = false; if (str != "" && str!=null) { Regex reg = new Regex("^[0-9]*$"); if (reg.IsMatch(str)) { result = true; } } return result; } #endregion #region------------------ToString类型转换------------------ /// <summary> /// 读取数据库中字符串并转换成string /// </summary> /// <param name="obj">object类型的值</param> /// <returns>string类型</returns> public static string ToString(object obj) { string result = ""; if (obj != null) { result = Convert.ToString(obj); } return result; } #endregion #region------------------ToDouble类型转换------------------ /// <summary> /// 判断一个字符串是否属于Double类型(包括负浮点型) /// 如果是的返回true,如果不是返回false /// </summary> /// <param name="str">string类型的值</param> /// <returns>true:是Double的字符串(即可以转换成Double类型),false:不是Double类型的字符串</returns> public static bool IsDouble(string str) { bool result = false; if (str != "" && str != null) { Regex reg = new Regex(@"^(-?\d+)(\.\d+)?$"); if (reg.IsMatch(str)) { result = true; } } return result; } /// <summary> /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// </summary> /// <param name="obj">object类型的值</param> /// <returns>Int32类型</returns> public static double ToDouble(object obj) { double result = 0.0; if (IsDouble(Convert.ToString(obj))) { result = Convert.ToDouble(obj); } else if (obj != null && obj is Enum) //处理枚举 { result = ((IConvertible)obj).ToDouble(null); } return result; } /// <summary> /// 读取数据库中字符串并转换成Int32 /// 为空时返回0 /// </summary> /// <param name="str">string类型的值</param> /// <returns>Int32类型</returns> public static double ToDouble(string str) { double result = 0.0; if (IsDouble(str)) { result = Convert.ToDouble(str); } return result; } #endregion #region------------------ToDateTime类型转换------------------ /// <summary> /// 判断时间格式是否是时间类型 /// 如23:10 /// </summary> /// <param name="str">要判断的字符串</param> /// <returns>true:是时间类型的字符串(即可以转换成时间类型),false:不是时间类型的字符串</returns> public static bool isDateTime(string str) { bool result = false; if (str != "" && str != null) { Regex reg = new Regex("(([01]\\d)|(2[0-3])):[0-5]\\d"); if (reg.IsMatch(str)) { result = true; } } return result; } #endregion }}//"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)//"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数//"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)//"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数//"^(-?\d+)(\.\d+)?$"  //浮点数

好了,Asp.Net类型转换类(通用类)代码分享到此结束。

下面看下ASP.NET页面数据验证通用类的实例代码。

public class PageValidate{private static Regex RegPhone = new Regex("^[0-9]+[-]?[0-9]+[-]?[0-9]$");private static Regex RegNumber = new Regex("^[0-9]+$");private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$"); //等价于^[+-]?\d+[.]?\d+$private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");public PageValidate(){}//数字字符串检查#region 数字字符串检查public static bool IsPhone(string inputData){Match m = RegPhone.Match(inputData);return m.Success;}/// <summary>/// 检查Request查询字符串的键值,是否是数字,最大长度限制/// </summary>/// <param name="req">Request</param>/// <param name="inputKey">Request的键值</param>/// <param name="maxLen">最大长度</param>/// <returns>返回Request查询字符串</returns>public static string FetchInputDigit(HttpRequest req, string inputKey, int maxLen){string retVal = string.Empty;if(inputKey != null && inputKey != string.Empty){retVal = req.QueryString[inputKey];if(null == retVal)retVal = req.Form[inputKey];if(null != retVal){retVal = SqlText(retVal, maxLen);if(!IsNumber(retVal))retVal = string.Empty;}}if(retVal == null)retVal = string.Empty;return retVal;}/// <summary>/// 是否数字字符串/// </summary>/// <param name="inputData">输入字符串</param>/// <returns></returns>public static bool IsNumber(string inputData){Match m = RegNumber.Match(inputData);return m.Success;}/// <summary>/// 是否数字字符串 可带正负号/// </summary>/// <param name="inputData">输入字符串</param>/// <returns></returns>public static bool IsNumberSign(string inputData){Match m = RegNumberSign.Match(inputData);return m.Success;}/// <summary>/// 是否是浮点数/// </summary>/// <param name="inputData">输入字符串</param>/// <returns></returns>public static bool IsDecimal(string inputData){Match m = RegDecimal.Match(inputData);return m.Success;}/// <summary>/// 是否是浮点数 可带正负号/// </summary>/// <param name="inputData">输入字符串</param>/// <returns></returns>public static bool IsDecimalSign(string inputData){Match m = RegDecimalSign.Match(inputData);return m.Success;}#endregion//中文检测#region 中文检测/// <summary>/// 检测是否有中文字符/// </summary>/// <param name="inputData"></param>/// <returns></returns>public static bool IsHasCHZN(string inputData){Match m = RegCHZN.Match(inputData);return m.Success;}#endregion//邮件地址#region 邮件地址/// <summary>/// 是否是浮点数 可带正负号/// </summary>/// <param name="inputData">输入字符串</param>/// <returns></returns>public static bool IsEmail(string inputData){Match m = RegEmail.Match(inputData);return m.Success;}#endregion//其他#region 其他/// <summary>/// 检查字符串最大长度,返回指定长度的串/// </summary>/// <param name="sqlInput">输入字符串</param>/// <param name="maxLength">最大长度</param>/// <returns></returns>public static string SqlText(string sqlInput, int maxLength){if(sqlInput != null && sqlInput != string.Empty){sqlInput = sqlInput.Trim();if(sqlInput.Length > maxLength)//按最大长度截取字符串sqlInput = sqlInput.Substring(0, maxLength);}return sqlInput;}/// <summary>/// 字符串编码/// </summary>/// <param name="inputData"></param>/// <returns></returns>public static string HtmlEncode(string inputData){return HttpUtility.HtmlEncode(inputData);}/// <summary>/// 设置Label显示Encode的字符串/// </summary>/// <param name="lbl"></param>/// <param name="txtInput"></param>public static void SetLabel(Label lbl, string txtInput){lbl.Text = HtmlEncode(txtInput);}public static void SetLabel(Label lbl, object inputObj){SetLabel(lbl, inputObj.ToString());}//字符串清理public static string InputText(string inputString, int maxLength){StringBuilder retVal = new StringBuilder();// 检查是否为空if ((inputString != null) && (inputString != String.Empty)){inputString = inputString.Trim();//检查长度if (inputString.Length > maxLength)inputString = inputString.Substring(0, maxLength);//替换危险字符for (int i = 0; i < inputString.Length; i++){switch (inputString[i]){case '"':retVal.Append("&quot;");break;case '<':retVal.Append("&lt;");break;case '>':retVal.Append("&gt;");break;default:retVal.Append(inputString[i]);break;}}retVal.Replace("'", " ");// 替换单引号}return retVal.ToString();}/// <summary>/// 转换成 HTML code/// </summary>/// <param name="str">string</param>/// <returns>string</returns>public static string Encode(string str){str = str.Replace("&","&amp;");str = str.Replace("'","''");str = str.Replace("\"","&quot;");str = str.Replace(" ","&nbsp;");str = str.Replace("<","&lt;");str = str.Replace(">","&gt;");str = str.Replace("\n","<br>");return str;}/// <summary>///解析html成 普通文本/// </summary>/// <param name="str">string</param>/// <returns>string</returns>public static string Decode(string str){str = str.Replace("<br>","\n");str = str.Replace("&gt;",">");str = str.Replace("&lt;","<");str = str.Replace("&nbsp;"," ");str = str.Replace("&quot;","\"");return str;}public static string SqlTextClear(string sqlText){if (sqlText == null){return null;}if (sqlText == ""){return "";}sqlText = sqlText.Replace(",", "");//去除,sqlText = sqlText.Replace("<", "");//去除<sqlText = sqlText.Replace(">", "");//去除>sqlText = sqlText.Replace("--", "");//去除--sqlText = sqlText.Replace("'", "");//去除'sqlText = sqlText.Replace("\"", "");//去除"sqlText = sqlText.Replace("=", "");//去除=sqlText = sqlText.Replace("%", "");//去除%sqlText = sqlText.Replace(" ", "");//去除空格return sqlText;}#endregion//是否由特定字符组成#region 是否由特定字符组成public static bool isContainSameChar(string strInput){string charInput = string.Empty;if (!string.IsNullOrEmpty(strInput)){charInput = strInput.Substring(0, 1);}return isContainSameChar(strInput, charInput, strInput.Length);}public static bool isContainSameChar(string strInput, string charInput, int lenInput){if (string.IsNullOrEmpty(charInput)){return false;}else{Regex RegNumber = new Regex(string.Format("^([{0}])+$", charInput));//Regex RegNumber = new Regex(string.Format("^([{0}]{{1}})+$", charInput,lenInput));Match m = RegNumber.Match(strInput);return m.Success;}}#endregion//检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查#region 检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查/// <summary>/// 检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查/// </summary>public static bool isContainSpecChar(string strInput){string[] list = new string[] { "123456", "654321" };bool result = new bool();for (int i = 0; i < list.Length; i++){if (strInput == list[i]){result = true;break;}}return result;}#endregion}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章