页面数据校验
2007-04-26 00:58
337 查看
using System;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
/**//// <summary>
/// 页面数据校验类
/// </summary>
public class PageValidate
...{
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("[一-龥]");
public PageValidate()
...{
}
数字字符串检查#region 数字字符串检查
/**//// <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());
}
#endregion
}
相关文章推荐
- 教你一天玩转JavaScript(二)——完成对注册页面的数据的简单校验
- SpringMVC实现页面和java模型的数据交互以及文件上传下载和数据校验
- ssm后端校验,解决数据无法回显和jsp页面属性无法绑定userBean
- NO.5 JS常用页面数据录入校验方法(JavaScript Validation)
- 注册页面转向及前台数据校验
- 页面数据校验
- JavaEE day03 使用JS完成简单的数据校验、完成图片轮播效果、完成页面定时弹出广告、完成表单校验
- springmvc_3_数据转换 & 数据格式化 & 数据校验
- jsp页面查询的数据导出到excel(二)
- 路由器页面开发相关数据缩写
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- Java抓取网页数据(原来的页面+Javascript返回数据)
- Activity页面之间的数据传递
- Android页面间数据传递方式
- 解决刷新页面造成的数据重复提交问题
- 手机端页面下拉加载数据的笨办法--点击按钮添加数据
- Activity页面之间数据传递
- Struts2表单数据校验
- 页面中标题替换方法,在SQL中取数据时。
- 在ASP中用“正则表达式对象”来校验数据的合法性