Asp.Net类型转换类(通用类)代码分享
废话不多说了,直接给大家贴代码了,具体代码如下所述:
///<summary>
///类型转换类
///处理数据库获取字段为空的情况
///</summary>
publicstaticclassDBConvert
{
#region------------------ToInt32类型转换------------------
///<summary>
///读取数据库中字符串并转换成Int32
///为空时返回0
///</summary>
///<paramname="obj">object类型的值</param>
///<returns>Int32类型</returns>
publicstaticintToInt32(objectobj)
{
intresult=0;
if(IsInt(Convert.ToString(obj)))
{
result=Convert.ToInt32(obj);
}
elseif(obj!=null&&objisEnum)//处理非null值类型时(或者枚举)
{
result=((IConvertible)obj).ToInt32(null);
}
returnresult;
}
///<summary>
///读取数据库中字符串并转换成Int32
///为空时返回0
///</summary>
///<paramname="str">string类型的值</param>
///<returns>Int32类型</returns>
publicstaticintToInt32(stringstr)
{
intresult=0;
if(IsInt(str))
{
result=Convert.ToInt32(str);
}
returnresult;
}
///<summary>
///判断一个字符串是否属于Int类型
///如果是的返回true,如果不是返回false
///</summary>
///<paramname="str">string类型的值</param>
///<returns>true:是Int的字符串(即可以转换成Int类型),false:不是Int类型的字符串</returns>
publicstaticboolIsInt(stringstr)
{
boolresult=false;
if(str!=""&&str!=null)
{
Regexreg=newRegex("^[0-9]*$");
if(reg.IsMatch(str))
{
result=true;
}
}
returnresult;
}
#endregion
#region------------------ToString类型转换------------------
///<summary>
///读取数据库中字符串并转换成string
///</summary>
///<paramname="obj">object类型的值</param>
///<returns>string类型</returns>
publicstaticstringToString(objectobj)
{
stringresult="";
if(obj!=null)
{
result=Convert.ToString(obj);
}
returnresult;
}
#endregion
#region------------------ToDouble类型转换------------------
///<summary>
///判断一个字符串是否属于Double类型(包括负浮点型)
///如果是的返回true,如果不是返回false
///</summary>
///<paramname="str">string类型的值</param>
///<returns>true:是Double的字符串(即可以转换成Double类型),false:不是Double类型的字符串</returns>
publicstaticboolIsDouble(stringstr)
{
boolresult=false;
if(str!=""&&str!=null)
{
Regexreg=newRegex(@"^(-?\d+)(\.\d+)?$");
if(reg.IsMatch(str))
{
result=true;
}
}
returnresult;
}
///<summary>
///读取数据库中字符串并转换成Int32
///为空时返回0
///</summary>
///<paramname="obj">object类型的值</param>
///<returns>Int32类型</returns>
publicstaticdoubleToDouble(objectobj)
{
doubleresult=0.0;
if(IsDouble(Convert.ToString(obj)))
{
result=Convert.ToDouble(obj);
}
elseif(obj!=null&&objisEnum)//处理枚举
{
result=((IConvertible)obj).ToDouble(null);
}
returnresult;
}
///<summary>
///读取数据库中字符串并转换成Int32
///为空时返回0
///</summary>
///<paramname="str">string类型的值</param>
///<returns>Int32类型</returns>
publicstaticdoubleToDouble(stringstr)
{
doubleresult=0.0;
if(IsDouble(str))
{
result=Convert.ToDouble(str);
}
returnresult;
}
#endregion
#region------------------ToDateTime类型转换------------------
///<summary>
///判断时间格式是否是时间类型
///如23:10
///</summary>
///<paramname="str">要判断的字符串</param>
///<returns>true:是时间类型的字符串(即可以转换成时间类型),false:不是时间类型的字符串</returns>
publicstaticboolisDateTime(stringstr)
{
boolresult=false;
if(str!=""&&str!=null)
{
Regexreg=newRegex("(([01]\\d)|(2[0-3])):[0-5]\\d");
if(reg.IsMatch(str))
{
result=true;
}
}
returnresult;
}
#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页面数据验证通用类的实例代码。
publicclassPageValidate
{
privatestaticRegexRegPhone=newRegex("^[0-9]+[-]?[0-9]+[-]?[0-9]$");
privatestaticRegexRegNumber=newRegex("^[0-9]+$");
privatestaticRegexRegNumberSign=newRegex("^[+-]?[0-9]+$");
privatestaticRegexRegDecimal=newRegex("^[0-9]+[.]?[0-9]+$");
privatestaticRegexRegDecimalSign=newRegex("^[+-]?[0-9]+[.]?[0-9]+$");//等价于^[+-]?\d+[.]?\d+$
privatestaticRegexRegEmail=newRegex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w英文字母或数字的字符串,和[a-zA-Z0-9]语法一样
privatestaticRegexRegCHZN=newRegex("[\u4e00-\u9fa5]");
publicPageValidate()
{
}
//数字字符串检查#region数字字符串检查
publicstaticboolIsPhone(stringinputData)
{
Matchm=RegPhone.Match(inputData);
returnm.Success;
}
/**////<summary>
///检查Request查询字符串的键值,是否是数字,最大长度限制
///</summary>
///<paramname="req">Request</param>
///<paramname="inputKey">Request的键值</param>
///<paramname="maxLen">最大长度</param>
///<returns>返回Request查询字符串</returns>
publicstaticstringFetchInputDigit(HttpRequestreq,stringinputKey,intmaxLen)
{
stringretVal=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;
returnretVal;
}
/**////<summary>
///是否数字字符串
///</summary>
///<paramname="inputData">输入字符串</param>
///<returns></returns>
publicstaticboolIsNumber(stringinputData)
{
Matchm=RegNumber.Match(inputData);
returnm.Success;
}
/**////<summary>
///是否数字字符串可带正负号
///</summary>
///<paramname="inputData">输入字符串</param>
///<returns></returns>
publicstaticboolIsNumberSign(stringinputData)
{
Matchm=RegNumberSign.Match(inputData);
returnm.Success;
}
/**////<summary>
///是否是浮点数
///</summary>
///<paramname="inputData">输入字符串</param>
///<returns></returns>
publicstaticboolIsDecimal(stringinputData)
{
Matchm=RegDecimal.Match(inputData);
returnm.Success;
}
/**////<summary>
///是否是浮点数可带正负号
///</summary>
///<paramname="inputData">输入字符串</param>
///<returns></returns>
publicstaticboolIsDecimalSign(stringinputData)
{
Matchm=RegDecimalSign.Match(inputData);
returnm.Success;
}
#endregion
//中文检测#region中文检测
/**////<summary>
///检测是否有中文字符
///</summary>
///<paramname="inputData"></param>
///<returns></returns>
publicstaticboolIsHasCHZN(stringinputData)
{
Matchm=RegCHZN.Match(inputData);
returnm.Success;
}
#endregion
//邮件地址#region邮件地址
/**////<summary>
///是否是浮点数可带正负号
///</summary>
///<paramname="inputData">输入字符串</param>
///<returns></returns>
publicstaticboolIsEmail(stringinputData)
{
Matchm=RegEmail.Match(inputData);
returnm.Success;
}
#endregion
//其他#region其他
/**////<summary>
///检查字符串最大长度,返回指定长度的串
///</summary>
///<paramname="sqlInput">输入字符串</param>
///<paramname="maxLength">最大长度</param>
///<returns></returns>
publicstaticstringSqlText(stringsqlInput,intmaxLength)
{
if(sqlInput!=null&&sqlInput!=string.Empty)
{
sqlInput=sqlInput.Trim();
if(sqlInput.Length>maxLength)//按最大长度截取字符串
sqlInput=sqlInput.Substring(0,maxLength);
}
returnsqlInput;
}
/**////<summary>
///字符串编码
///</summary>
///<paramname="inputData"></param>
///<returns></returns>
publicstaticstringHtmlEncode(stringinputData)
{
returnHttpUtility.HtmlEncode(inputData);
}
/**////<summary>
///设置Label显示Encode的字符串
///</summary>
///<paramname="lbl"></param>
///<paramname="txtInput"></param>
publicstaticvoidSetLabel(Labellbl,stringtxtInput)
{
lbl.Text=HtmlEncode(txtInput);
}
publicstaticvoidSetLabel(Labellbl,objectinputObj)
{
SetLabel(lbl,inputObj.ToString());
}
//字符串清理
publicstaticstringInputText(stringinputString,intmaxLength)
{
StringBuilderretVal=newStringBuilder();
//检查是否为空
if((inputString!=null)&&(inputString!=String.Empty))
{
inputString=inputString.Trim();
//检查长度
if(inputString.Length>maxLength)
inputString=inputString.Substring(0,maxLength);
//替换危险字符
for(inti=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("'","");//替换单引号
}
returnretVal.ToString();
}
/**////<summary>
///转换成HTMLcode
///</summary>
///<paramname="str">string</param>
///<returns>string</returns>
publicstaticstringEncode(stringstr)
{
str=str.Replace("&","&");
str=str.Replace("'","''");
str=str.Replace("\"",""");
str=str.Replace(""," ");
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("\n","<br>");
returnstr;
}
/**////<summary>
///解析html成普通文本
///</summary>
///<paramname="str">string</param>
///<returns>string</returns>
publicstaticstringDecode(stringstr)
{
str=str.Replace("<br>","\n");
str=str.Replace(">",">");
str=str.Replace("<","<");
str=str.Replace(" ","");
str=str.Replace(""","\"");
returnstr;
}
publicstaticstringSqlTextClear(stringsqlText)
{
if(sqlText==null)
{
returnnull;
}
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("","");//去除空格
returnsqlText;
}
#endregion
//是否由特定字符组成#region是否由特定字符组成
publicstaticboolisContainSameChar(stringstrInput)
{
stringcharInput=string.Empty;
if(!string.IsNullOrEmpty(strInput))
{
charInput=strInput.Substring(0,1);
}
returnisContainSameChar(strInput,charInput,strInput.Length);
}
publicstaticboolisContainSameChar(stringstrInput,stringcharInput,intlenInput)
{
if(string.IsNullOrEmpty(charInput))
{
returnfalse;
}
else
{
RegexRegNumber=newRegex(string.Format("^([{0}])+$",charInput));
//RegexRegNumber=newRegex(string.Format("^([{0}]{{1}})+$",charInput,lenInput));
Matchm=RegNumber.Match(strInput);
returnm.Success;
}
}
#endregion
//检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查#region检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查
/**////<summary>
///检查输入的参数是不是某些定义好的特殊字符:这个方法目前用于密码输入的安全检查
///</summary>
publicstaticboolisContainSpecChar(stringstrInput)
{
string[]list=newstring[]{"123456","654321"};
boolresult=newbool();
for(inti=0;i<list.Length;i++)
{
if(strInput==list[i])
{
result=true;
break;
}
}
returnresult;
}
#endregion
}