textBOX验证控件,自动验证数据正确与否!只需选择你的数据类型

using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Drawing;
using  System.Data;
using  System.Text;
using  System.Windows.Forms;

namespace  Tigers_WindowsControlLibrary.Windows
{
    
public partial class TextBox_Validate : Tigers_WindowsControlLibrary.Windows.TextBox
    
{
        
public TextBox_Validate()
        
{
            InitializeComponent();
            
this.TextChanged += new EventHandler(TextBox_Validate_TextChanged);
            
this.Leave += new EventHandler(TextBox_Validate_Leave);
        }


        
//焦点移动开时错误数据必须修改
        void TextBox_Validate_Leave(object sender, EventArgs e)
        
{
            
if (!this._checked)
            
{
                
this.Focus();
            }

            
//throw new Exception("The method or operation is not implemented.");
        }


        
//验证用户的输入
        void TextBox_Validate_TextChanged(object sender, EventArgs e)
        
{
            
//当用户没有数据数据,并且数据允许为空时
            if (this.Text.Equals(string.Empty) && this._dataIsNull == true)
            
{
                
this._checked = true;
            }

            
else
            
{
                
this._checked = Tigers_WindowsControlLibrary.DataValidate.RegularValidate.FitString(this._validateString, this.Text);
            }

            
//throw new Exception("The method or operation is not implemented.");
        }



        
private bool _dataIsNull = true;

        [
        Category(
"数据验证"),
        Description(
"数据是否允许为空"),
        DefaultValue(
true)
        ]
        
public bool DataIsNull
        
{
            
get return _dataIsNull; }
            
set { _dataIsNull = value; }
        }



        
//数据是否通过验证
        private bool _checked = false;

        [
        Category(
"数据验证"),
        Description(
"数据验证是否成功"),
        DefaultValue(
false)
        ]
        
public bool Checked
        
{
            
get
            
{
                
if (this.Text.Equals(string.Empty) && this._dataIsNull == true)
                
{
                    
return true;
                }

                
else
                
{
                    
return _checked;
                }

            }

           
// set { _checked = value; }
        }


        
//验证数据的方式
        private string _validateString = string.Empty;
        [
        Editor(
typeof(TextBox_Validate_ListBox_DropDownEdit), typeof(System.Drawing.Design.UITypeEditor)),
        Category(
"数据验证"),
        Description(
"对数据验证的正则表达式"),
        DefaultValue(
"")
        ]
        
public string ValidateString
        
{
            
get return _validateString; }
            
set { _validateString = value; }
        }

    }

}

 

 

using  System;
using  System.Collections.Generic;
using  System.Text;

namespace  Tigers_WindowsControlLibrary.Windows
{
    
class TextBox_Validate_ListBox_DropDownEdit : System.Drawing.Design.UITypeEditor
    
{
        
public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
        
{
            
if (context != null && context.Instance != null)
            
{
                
return System.Drawing.Design.UITypeEditorEditStyle.DropDown;
            }


            
return base.GetEditStyle(context);
        }


        
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        
{
            System.Windows.Forms.Design.IWindowsFormsEditorService editorService 
= null;

            
if (context != null && context.Instance != null && provider != null)
            
{
                editorService 
= (System.Windows.Forms.Design.IWindowsFormsEditorService)provider.GetService(typeof(System.Windows.Forms.Design.IWindowsFormsEditorService));
                
if (editorService != null)
                
{
                    TextBox_Validate textBox_Validate 
= (TextBox_Validate)context.Instance;
                    Tigers_WindowsControlLibrary.PulicControl.TextBox_Validate_ListBox textBox_Validate_ListBox 
= new Tigers_WindowsControlLibrary.PulicControl.TextBox_Validate_ListBox(textBox_Validate.ValidateString);
                    editorService.DropDownControl(textBox_Validate_ListBox);
                    value 
= textBox_Validate_ListBox.ValidateString;
                    
return value;
                }

            }


            
return value;
        }

    }

}

 

 

 

 

using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Drawing;
using  System.Data;
using  System.Text;
using  System.Windows.Forms;

namespace  Tigers_WindowsControlLibrary.PulicControl
{

     
partial class TextBox_Validate_ListBox : System.Windows.Forms.UserControl
    
{
        
        
public TextBox_Validate_ListBox()
        
{
            InitializeComponent();
        }


        
private string _validateString = string.Empty;

        
public string ValidateString
        
{
            
get return _validateString; }
            
set { _validateString = value; }
        }

        
public TextBox_Validate_ListBox(string validateString)
        
{

            InitializeComponent();


            
this._validateString = "validateString";
            
switch (validateString)
            
{
                
case @"w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*":this.ListBox_Select.SelectedIndex = 0break;
                
case @"[a-zA-z]+://[^s]*"this.ListBox_Select.SelectedIndex = 1break;
                
case @"d+.d+.d+.d+"this.ListBox_Select.SelectedIndex = 2break;
                
case @"[1-9][0-9]{4,}"this.ListBox_Select.SelectedIndex = 3break;
                
case @"[1-9]d{5}(?!d)"this.ListBox_Select.SelectedIndex = 4break;
                
case @"^((d{3,4}-)|d{3.4}-)?d{7,8}$"this.ListBox_Select.SelectedIndex = 5break;
                
case @"d{15}|d{18}"this.ListBox_Select.SelectedIndex = 6break;
                
case @"[一-龥]"this.ListBox_Select.SelectedIndex = 7break;

                
//以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
                case @"^[a-zA-Z]w{5,17}$"this.ListBox_Select.SelectedIndex = 8break;
                
case @"^[a-zA-Z][a-zA-Z0-9_]{4,15}$"this.ListBox_Select.SelectedIndex = 9break;
                
case @"<(S*?)[^>]*>.*?</>|<.*? />"this.ListBox_Select.SelectedIndex = 10break;

                
case @"^-?[1-9]d*$"this.ListBox_Select.SelectedIndex = 11break;
                
case @"^[1-9]d*$"this.ListBox_Select.SelectedIndex = 12break;
                
case @"^-[1-9]d*$ "this.ListBox_Select.SelectedIndex = 13break;
                
case @"^[1-9]d*|0$"this.ListBox_Select.SelectedIndex = 14break;
                
case @"^-[1-9]d*|0$"this.ListBox_Select.SelectedIndex = 15break;

                
case @"^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$"this.ListBox_Select.SelectedIndex = 16break;
                
case @"^[1-9]d*.d*|0.d*[1-9]d*$"this.ListBox_Select.SelectedIndex = 17break;
                
case @"^-([1-9]d*.d*|0.d*[1-9]d*)$"this.ListBox_Select.SelectedIndex = 18break;
                
case @"^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$"this.ListBox_Select.SelectedIndex = 19break;
                
case @"^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$"this.ListBox_Select.SelectedIndex = 20break;



                
case @"^[A-Za-z]+$"this.ListBox_Select.SelectedIndex = 21break;

                
case @"^[A-Z]+$"this.ListBox_Select.SelectedIndex = 22break;
                
case @"^[a-z]+$"this.ListBox_Select.SelectedIndex = 23break;
                
case @"^[A-Za-z0-9]+$"this.ListBox_Select.SelectedIndex = 24break;
                
case @"^w+$"this.ListBox_Select.SelectedIndex = 25break;
                
defaultthis.ListBox_Select.SelectedIndex = 26break;
            }

           
        }


        
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        
{
            
switch (this.ListBox_Select.SelectedItem.ToString().Trim())
            
{
                
case "E-mail----------"this._validateString = @"w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"break;
                
case "URL-Http"this._validateString = @"[a-zA-z]+://[^s]*"break;
                
case "IP地址"this._validateString = @"d+.d+.d+.d+"break;
                
case "QQ"this._validateString = @"[1-9][0-9]{4,}"break;
                
case "邮编"this._validateString = @"[1-9]d{5}(?!d)"break;
                
case "电话号"this._validateString = @"^((d{3,4}-)|d{3.4}-)?d{7,8}$"break;
                
case "身份证"this._validateString = @"d{15}|d{18}"break;
                
case "中文"this._validateString = @"[一-龥]"break;
                
                
//以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
                case "密码"this._validateString = @"^[a-zA-Z]w{5,17}$"break;
                
case "帐号"this._validateString = @"^[a-zA-Z][a-zA-Z0-9_]{4,15}$"break;
                
case "HTML标记"this._validateString = @"<(S*?)[^>]*>.*?</>|<.*? />"break;

                
case "整型-----------"this._validateString = @"^-?[1-9]d*$"break;
                
case "正整数"this._validateString = @"^[1-9]d*$"break;
                
case "负整数"this._validateString = @"^-[1-9]d*$ "break;
                
case "非负整数"this._validateString = @"^[1-9]d*|0$"break;
                
case "非正整数"this._validateString = @"^-[1-9]d*|0$"break;

                
case "浮点数--------"this._validateString = @"^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$"break;
                
case "正浮点数"this._validateString = @"^[1-9]d*.d*|0.d*[1-9]d*$"break;
                
case "负浮点数"this._validateString = @"^-([1-9]d*.d*|0.d*[1-9]d*)$"break;
                
case "非负浮点数"this._validateString = @"^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$"break;
                
case "非正浮点数"this._validateString = @"^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$"break;



                
case "英文--------------"this._validateString = @"^[A-Za-z]+$"break;

                
case "英文(大写)"this._validateString = @"^[A-Z]+$"break;
                
case "英文(小写)"this._validateString = @"^[a-z]+$"break;
                
case "数字和英文"this._validateString = @"^[A-Za-z0-9]+$"break;
                
case "数字和英文或下划线"this._validateString = @"^w+$"break;
               
               
            }

            
this.ProcessDialogKey(Keys.Enter);
            
//;
           

        }


        
private void Bt_Close_Click(object sender, EventArgs e)
        
{
            
this.ProcessDialogKey(Keys.Enter);
           
// this.Dispose();
        }

    }

}

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值