
/**//// <summary>


/// 显示消息提示对话框。




/// 2005.10.1


/// </summary>


public class MessageBox



{


private MessageBox()



{


}



/**//// <summary>


/// 显示消息提示对话框


/// </summary>


/// <param name="page">当前页面指针,一般为this</param>


/// <param name="msg">提示信息</param>


public static void Show(System.Web.UI.Page page,string msg)



{


page.RegisterStartupScript("message","<script language='javascript' defer>alert('"+msg.ToString()+"');</script>");


}



/**//// <summary>


/// 控件点击消息确认提示框


/// </summary>


/// <param name="page">当前页面指针,一般为this</param>


/// <param name="msg">提示信息</param>


public static void ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg)



{


//Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");


Control.Attributes.Add("onclick", "return confirm('" + msg + "');") ;


}



/**//// <summary>


/// 显示消息提示对话框,并进行页面跳转


/// </summary>


/// <param name="page">当前页面指针,一般为this</param>


/// <param name="msg">提示信息</param>


/// <param name="url">跳转的目标URL</param>


public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)



{


StringBuilder Builder=new StringBuilder();


Builder.Append("<script language='javascript' defer>");


Builder.AppendFormat("alert('{0}');",msg);


Builder.AppendFormat("top.location.href='{0}'",url);


Builder.Append("</script>");


page.RegisterStartupScript("message",Builder.ToString());




}



/**//// <summary>


/// 输出自定义脚本信息


/// </summary>


/// <param name="page">当前页面指针,一般为this</param>


/// <param name="script">输出脚本</param>


public static void ResponseScript(System.Web.UI.Page page,string script)



{


page.RegisterStartupScript("message","<script language='javascript' defer>"+script+"</script>");


}


}





//二.页面数据验证类



//做项目,特别做MIS,更避免不了有用户输入数据需要做有效性验证,这里我总结封装了一个页面数据校验的工具类,用起来也是很方便。



/**//// <summary>


/// 页面数据校验类


/// 李天平


/// 2004.8


/// </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("[\u4e00-\u9fa5]");




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


}

posted @
2008-09-09 10:59
Chris Wei
阅读(
143)
评论()
收藏
举报