当前位置: 移动技术网 > IT编程>开发语言>.net > Asp.Net类型转换类(通用类)代码分享

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

利令智昏造句,美竹凉子人体,腾讯体育会员账号分享

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

 /// <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
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网