Asp.Net类型转换类(通用类)代码分享
程序员文章站
2023-12-20 18:58:58
废话不多说了,直接给大家贴代码了,具体代码如下所述:
///
/// 类型转换类
/// 处理数据库获取字段为空的情况...
废话不多说了,直接给大家贴代码了,具体代码如下所述:
/// <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("""); break; case '<': retval.append("<"); break; case '>': retval.append(">"); 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("&","&"); str = str.replace("'","''"); str = str.replace("\"","""); str = str.replace(" "," "); str = str.replace("<","<"); str = str.replace(">",">"); 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(">",">"); str = str.replace("<","<"); str = str.replace(" "," "); str = str.replace(""","\""); 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 }
推荐阅读
-
Asp.Net类型转换类(通用类)代码分享
-
Asp.Net类型转换类(通用类)代码分享
-
C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
-
C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
-
php通过文件头检测文件类型通用代码类(zip,rar等
-
php通过文件头检测文件类型通用代码类(zip,rar等)_php技巧
-
php通过文件头检测文件类型通用代码类(zip,rar等)_php技巧
-
php通过文件头检测文件类型通用代码类(zip,rar等)_PHP教程
-
php通过文件头检测文件类型通用代码类(zip,rar等)
-
php通过文件头检测文件类型通用代码类(zip,rar等