• ASP.NET C# 登陆窗体 限制用户名只输入字母 数字以及下划线


    文本框的输入限制,我们主要集中两个问题:
    
    一、怎样限制用户名输入的长度?
    
    答:设置txtName的属性 MaxLength="10"; (我们这里以10个字符为例)
    
    二、怎样限制用户名只输入字母 数字以及下划线
    
    答:有两种方法可以实现
    
    方法1:
    
           //通过监听键盘keychar实现
            private void txtName_KeyPress(object sender, KeyPressEventArgs e)
            {
                this.txtName.ImeMode = ImeMode.Off;
    
                if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar >= 'A' && e.KeyChar <= 'Z') || 
                      (e.KeyChar >= 'a' && e.KeyChar <= 'z') || (e.KeyChar == 8) || (e.KeyChar == '_'))
                {
                    e.Handled = false;
                }
    
                else
                {
                    MessageBox.Show("用户名只能为字母、数字和下划线!");
                    e.Handled = true;
                }
    
            }
     
    
    方法二:
    
     
    
            //使用正则表达事匹配
            private void txtName_KeyPress(object sender, KeyPressEventArgs e)
            {
                this.txtName.ImeMode = ImeMode.Off;
    
                Regex reg = new Regex(@"^w+$");        
    
                if (this.txtName.Text != "")//要加上一个是否为空的判断
                {
                    if (reg.IsMatch(this.txtName.Text))
                    {
                        e.Handled = false;
                    }
    
                    else
                    {                   
                        MessageBox.Show("用户名只能为字母、数字和下划线!");
                        e.Handled = true;
                    }
                }
            }
    
     
    
    对于这两种方法各有优劣,大家在实际应用中也会发现,第一种方法可以在输入前就限定用户输入不符合的字符,第二种方法是用户输入后再做的判断。
    文章后面附上一些常用的正则表达式,以方便大家使用: 只能输入数字:
    "^[0-9]*$"。 只能输入n位的数字:"^d{n}$"。 只能输入至少n位的数字:"^d{n,}$"。 只能输入m~n位的数字:。"^d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。 只能输入非零的正整数:"^+?[1-9][0-9]*$"。 只能输入非零的负整数:"^-[1-9][]0-9"*$。 只能输入长度为3的字符:"^.{3}$"。 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"。 验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+" 只能输入汉字:"^[u4e00-u9fa5]{0,}$"
  • 相关阅读:
    J
    I题
    H
    G
    F题
    E题
    D题
    C题
    B题
    A题
  • 原文地址:https://www.cnblogs.com/hfzsjz/p/3866538.html
Copyright © 2020-2023  润新知