ASP.NET中字符串处理的几个方法

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

只是工作中常用到对用户输入的字符串进行判断处理等,所有总结了一些方法,作为总结,亦可复用。

public sealed class CleanString

{

#region 数字字符串检查

private static Regex _isNumber = new Regex("^[0-9]+$");

//检查Request查询字符串的键值,是否是数字,最大长度限制

// return a digit string based on input data

// look first in the QueryString collection,

//then in Form return string.Empty if not found or if non-digit

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 = CleanString.SqlText(retVal, maxLen);

if(!IsNumber(retVal))

retVal = string.Empty;

}

}

if(retVal == null)

retVal = string.Empty;

return retVal;

}

//是否数字字符串

public static bool IsNumber(string inputData)

{

Match m = _isNumber.Match(inputData);

return m.Success;

}

//是否数字字符串

public static bool IsNumberInt(string inputData)

{

try

{

int.Parse(inputData);

}

catch

{

return false;

}

return true;

}

//是否数字字符串

public static bool IsNumberDecimal(string inputData)

{

try

{

decimal.Parse(inputData);

}

catch

{

return false;

}

return true;

}

//字符串编码

public static string HtmlEncode(string inputData)

{

return HttpUtility.HtmlEncode(inputData);

}

public static void SetLabel(Label lbl, string txtInput)

{

lbl.Text = HtmlEncode(txtInput);

}

public static void SetLabel(Label lbl, object inputObj)

{

SetLabel(lbl, inputObj.ToString());

}

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

}

#endregion

//字符串清理

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();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航