女女 - 2007-6-19 11:00:00
/*
* Discuz!NT Version: 1.0
* Created on 2007-3-30
*
* Web: [url]http://www.discuznt.com[/url]
* Copyright (C) 2001 - 2007 Comsenz Technology Inc., All Rights Reserved.
* This is NOT a freeware, use is subject to license terms.
*
*/
using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
namespace wwwwwww
{
/// <summary>
/// TextBox 控件
/// </summary>
[DefaultProperty("Text"), ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")]
public class TextBox : System.Web.UI.WebControls.WebControl, IPostBackDataHandler
{
protected System.Web.UI.WebControls.TextBox tb = new System.Web.UI.WebControls.TextBox();
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1 = new RequiredFieldValidator();
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1 = new RegularExpressionValidator();
protected System.Web.UI.WebControls.RangeValidator rangevalidator = new System.Web.UI.WebControls.RangeValidator();
public TextBox()
: base()
{
tb.Attributes.Add("onfocus", "this.className='colorfocus';");
tb.Attributes.Add("onblur", "this.className='colorblur';");
tb.CssClass = "colorblur";
}
public void AddAttributes(string key, string valuestr)
{
tb.Attributes.Add(key, valuestr);
}
//在属性RequiredFieldType后进行调用
public void SetValiateControls()
{
this.Controls.Add(tb);
if ((RequiredFieldType != null) && (RequiredFieldType != "") && (RequiredFieldType != "暂无校验"))
{
RegularExpressionValidator1.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
RegularExpressionValidator1.ControlToValidate = tb.ID;
RegularExpressionValidator1.ForeColor = System.Drawing.Color.Black;
switch (RequiredFieldType)
{
case "数据校验":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : "^[-]?\\d+[.]?\\d*$";
RegularExpressionValidator1.ErrorMessage = " 数字的格式不正确"; break;
}
case "电子邮箱":
{ //RegularExpressionValidator1.ValidationExpression="^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : (@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
RegularExpressionValidator1.ErrorMessage = " 邮箱的格式不正确"; break;
}
case "移动手机":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : "\\d{11}";
RegularExpressionValidator1.ErrorMessage = " 手机的位数应为11位!"; break;
}
case "家用电话":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : "((\\(\\d{3}\\) ?)|(\\d{3}-))?\\d{3}-\\d{4}|((\\(\\d{3}\\) ?)|(\\d{4}-))?\\d{4}-\\d{4}";
RegularExpressionValidator1.ErrorMessage = " 请依 (XXX)XXX-XXXX 格式或 (XXX)XXXX-XXXX 输入电话号码!"; break;
}
case "身份证号码":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : "^\\d{15}$|^\\d{18}$";
RegularExpressionValidator1.ErrorMessage = " 请依15或18位数据的身份证号!"; break;
}
case "网页地址":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的网址"; break;
}
case "日期":
{ //RegularExpressionValidator1.ValidationExpression="\\d{4}-\\d{1,2}-\\d{1,2}";
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的日期,如:2006-1-1"; break;
}
case "日期时间":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的日期,如: 2006-1-1 23:59:59"; break;
}
case "金额":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : "^([0-9]|[0-9].[0-9]{0-2}|[1-9][0-9]*.[0-9]{0,2})$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的金额"; break;
}
case "IP地址":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的IP地址"; break;
}
case "IP地址带端口":
{
RegularExpressionValidator1.ValidationExpression = (this.ValidationExpression != null) ? this.ValidationExpression : @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9]):\d{1,5}?$";
RegularExpressionValidator1.ErrorMessage = " 请输入正确的带端口的IP地址"; break;
}
}
this.Controls.Add(RegularExpressionValidator1);
}
switch (CanBeNull)
{
case "可为空": { break; }
case "必填":
{
RequiredFieldValidator1.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
RequiredFieldValidator1.ControlToValidate = tb.ID;
RequiredFieldValidator1.ForeColor = System.Drawing.Color.Black;
RequiredFieldValidator1.ErrorMessage = "请务必输入内容!";
this.Controls.Add(RequiredFieldValidator1);
break;
}
default: { break; }
}
this.BorderStyle = BorderStyle.Dotted;
this.BorderWidth = 1;
}