using System;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
namespace DotNet.Utilities
{
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 数字字符串检查
///
" + m.Groups["正文"].ToString());
}
//处理换行,在每个新行的前面添加两个全角空格
sDetail = sDetail.Replace("\r\n", "
");
#endregion
return sDetail;
}
#endregion
#region 分页
//public static string paging(string url, string para, int sumpage, int page)
//{
// string result = string.Empty;
// if (sumpage == 1)
// {
// return result;
// }
// if (page > sumpage)
// {
// page = 1;
// }
// if (sumpage > 0)
// {
// for (int i = 1; i <= sumpage; i++)
// {
// if (i == page)
// {
// result += string.Format("{3} ", new object[] { url, i.ToString(), para, i.ToString() });
// }
// else
// {
// result += string.Format("{3} ", new object[] { url, i.ToString(), para, i.ToString() });
// }
// }
// }
// return result;
//}
public static string paging(string url, string para, int sumpage, int page)
{
string result = string.Empty;
if (sumpage == 1)
{
return result;
}
if (sumpage > 500)
{
sumpage = 500;
}
if (page > sumpage)
{
page = 1;
}
StringBuilder sb = new StringBuilder();
if (sumpage > 0)
{
switch (page)
{
case 1:
sb.Append(string.Format("
{3} ", new object[] { url, page + 1, para, "下一页" })); break; default: if (sumpage == page) { sb.Append(string.Format("
{3} ", new object[] { url, page - 1, para, "上一页" })); } else { sb.Append(string.Format("
{3} {7} ", new object[] { url, page + 1, para, "下一页", url, page - 1, para, "上一页" })); } break; } sb.Append(string.Format("第{0}/{1}页
", new object[] { page, sumpage })); } return sb.ToString(); } public static string paging(string url, string para, int sumpage, int page, System.Web.UI.UserControl myPaging) { myPaging.Visible = false; string result = string.Empty; if (sumpage == 1) { return result; } if (sumpage > 500) { sumpage = 500; } if (page > sumpage) { page = 1; } StringBuilder sb = new StringBuilder(); if (sumpage > 0) { myPaging.Visible = true; switch (page) { case 1: sb.Append(string.Format("{3} ", new object[] { url, page + 1, para, "下一页" })); break; default: if (sumpage == page) { sb.Append(string.Format("{3} ", new object[] { url, page - 1, para, "上一页" })); } else { sb.Append(string.Format("{3} {7} ", new object[] { url, page + 1, para, "下一页", url, page - 1, para, "上一页" })); } break; } sb.Append(string.Format("第{0}/{1}页", new object[] { page, sumpage })); } return sb.ToString(); } public static string paging(string para, int sumpage, int page, int count) { string result = string.Empty; if (page > sumpage) { page = 1; } StringBuilder sb = new StringBuilder(); if (sumpage > 0) { if (sumpage != 1) { switch (page) { case 1: sb.Append(string.Format("{2} ", new object[] { page + 1, para, "下一页" })); break; default: if (sumpage == page) { sb.Append(string.Format("{2} ", new object[] { page - 1, para, "上一页" })); } else { sb.Append(string.Format("{2} {5} ", new object[] { page - 1, para, "上一页", page + 1, para, "下一页" })); } break; } } sb.Append(string.Format("第{0}/{1}页 共{2}条", new object[] { page, sumpage, count })); } return sb.ToString(); } public static void paging(string clinktail, int sumpage, int page, System.Web.UI.WebControls.Label page_view) { if (sumpage > 0) { int n = sumpage; //总页数 int x = page; //得到当前页 int i; int endpage; string pageview = "", pageviewtop = ""; if (x > 1) { pageview += " 第1页 | "; pageviewtop += " 第1页 | "; } else { pageview += " 第1页 | "; pageviewtop += " 第1页 | "; } if (x > 1) { pageviewtop += " 上1页 "; } else { pageviewtop += " 上1页 "; } if (x > ((x - 1) / 10) * 10 && x > 10) { pageview += "上10页"; } //if (((x-1) / 10) * 10 + 10) >= n ) if (((x - 1) / 10) * 10 + 10 >= n) { endpage = n; } else { endpage = ((x - 1) / 10) * 10 + 10; } for (i = ((x - 1) / 10) * 10 + 1; i <= endpage; ++i) { if (i == x) { pageview += " " + i + ""; } else { pageview += " " + i + ""; } } if (x < n) { pageviewtop += " 下1页 "; } else { pageviewtop += " 下1页 "; } if (endpage != n) { pageview += " 下10页 | "; } else { pageview += " | "; } if (x < n) { pageview += " 第" + n + "页 "; pageviewtop += " | 第" + n + "页 "; } else { pageview += " 第" + n + "页 "; pageviewtop += " | 第" + n + "页 "; } page_view.Text = pageview.ToString(); } else { page_view.Text = ""; } } //带第一页和最后一页 public static string paging2(string para, int sumpage, int page, int count) { string result = string.Empty; if (page > sumpage) { page = 1; } StringBuilder sb = new StringBuilder(); if (sumpage > 0) { if (sumpage != 1) { //第一页 sb.Append(string.Format(" ", new object[] { 1, para })); switch (page) { case 1: //前一页图片 sb.Append(string.Format("{0}", new object[] { "" })); sb.Append(string.Format("上一页{2} ", new object[] { page + 1, para, "下一页" })); //后一页图片 sb.Append(string.Format("{2}", new object[] { page + 1, para, "" })); break; default: if (sumpage == page) { //前一页图片 sb.Append(string.Format("{2}", new object[] { page - 1, para, "" })); sb.Append(string.Format("{2}下一页 ", new object[] { page - 1, para, "上一页" })); //后一页图片 sb.Append(string.Format("{0}", new object[] { "" })); } else { //前一页图片 sb.Append(string.Format("{2}", new object[] { page - 1, para, "" })); sb.Append(string.Format("{2} {5} ", new object[] { page - 1, para, "上一页", page + 1, para, "下一页" })); //后一页图片 sb.Append(string.Format("{2}", new object[] { page + 1, para, "" })); } break; } //最后一页图片 sb.Append(string.Format(" ", new object[] { sumpage, para })); } sb.Append(string.Format("第{0}页/共{1}页 共{2}条", new object[] { page, sumpage, count })); } return sb.ToString(); } public static string paging3(string url, string para, int sumpage, int page, int count) { string result = string.Empty; if (page > sumpage) { page = 1; } StringBuilder sb = new StringBuilder(); if (sumpage > 0) { if (sumpage != 1) { //第一页 sb.Append(string.Format("首页", new object[] { 1, para, url })); switch (page) { case 1: //前一页图片 // sb.Append(string.Format("{0}", new object[] { "" })); sb.Append(string.Format("上一页{2} ", new object[] { page + 1, para, "下一页", url })); //后一页图片 // sb.Append(string.Format("{2}", new object[] { page + 1, para, "" })); break; default: if (sumpage == page) { //前一页图片 //sb.Append(string.Format("{2}", new object[] { page - 1, para, "" })); sb.Append(string.Format("{2}下一页 ", new object[] { page - 1, para, "上一页", url })); //后一页图片 //sb.Append(string.Format("{0}", new object[] { "" })); } else { //前一页图片 //sb.Append(string.Format("{2}", new object[] { page - 1, para, "" })); sb.Append(string.Format("{2} {5} ", new object[] { page - 1, para, "上一页", page + 1, para, "下一页", url })); //后一页图片 //sb.Append(string.Format("{2}", new object[] { page + 1, para, "" })); } break; } //最后一页图片 sb.Append(string.Format("末页 ", new object[] { sumpage, para, url })); } sb.Append(string.Format("第{0}页/共{1}页 共{2}条", new object[] { page, sumpage, count })); } return sb.ToString(); } #endregion #region 日期格式判断 ///