C#对输入的内容(字符、字符串、数字)进行验证和限制

各种字符限制方式:

只能输入数字:"1*KaTeX parse error: Expected group after '^' at position 17: … 只能输入 n 位的数字:"^̲\d{n}"

只能输入至少 n 位的数字:"^\d{n,}$"

只能输入 m ~ n 位的数字:"^\d{m,n}$"

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"

只能输入有两位小数的正实数:"2+(.[0-9]{2})?$"

只能输入有 1~3 位小数的正实数:"3+(.[0-9]{1,3})?$"

只能输入非零的正整数:"^+?[1-9][0-9]*$"

只能输入非零的负整数:"^-[1-9][0-9]*$"

只能输入长度位 3 的字符:"^.{3}$"

只能输入由 26 个英文字母组成的字符串:"4+$"

只能输入由 26 个大写英文字母组成的字符串:"5+$"

只能输入由 26 个小写英文字母组成的字符串:"6+$"

只能输入由数字和 26 个英文字母组成的字符串:"7+$"

只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"

验证用户密码: “8\w{5,17}$” 正确格式位:以字母开头,长度在6~18之间,只能包含字符、数字和下划线

验证是否含有非法字符 ^(?:[\u4e00-\u9fa5]\w\s*)+$

只能输入汉字:"9{0,}$"

验证 Email 地址:"^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$"

验证 InternetURL:"^http://([\w-]+.)+[\w-]+(/[\w- ./?%&=]*)?$"

中国电话号码验证
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正则表达式 “((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*”

中国邮政编码验证
匹配形式如:215421
正则表达式 “d{6}”

电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 “w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*”

身份证验证
匹配形式如:15位或者18位身份证
正则表达式 “d{18}|d{15}”

常用数字验证
正则表达式
“d{n}” n为规定长度
“d{n,m}” n到m的长度范围

非法字符验证
匹配排除非法字符的字符如:
正则表达式 ^(?:[\u4e00-\u9fa5]\w\s*)+$

日期验证
匹配形式如:20030718,030718
范围:1900–2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}

使用实例:

复制代码

string msg="";
Regex myreg=new Regex(@"^(?:[\u4e00-\u9fa5]\w\s*)+KaTeX parse error: Expected 'EOF', got '\w' at position 119: …gex(@"^[a-zA-Z]\̲w̲{5,17}");
if(myreg.IsMatch(t_pwd.Text))
msg+="\r\n密码格式正确!";
else
msg+="\r\n密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线";

MessageBox.Show(msg);

复制代码


    1. 0-9 ↩︎

    2. 0-9 ↩︎

    3. 0-9 ↩︎

    4. A-Za-z ↩︎

    5. A-Z ↩︎

    6. a-z ↩︎

    7. A-Za-z0-9 ↩︎

    8. a-zA-Z ↩︎

    9. \u4e00-\u9fa5 ↩︎

借鉴以上内容学习后,实际应用如下:

限制输入字符长度(oText:输入的内容,x:要限制的长度,直接调用下面方法进行判断):

复制代码

        public bool IsStringLength(string oText,int x) //判断输入的字符是否超出限制
        {
            //引用正则表达式类
            Regex reg = new Regex(@"^(\s|\S){0,200}$");
            Match ma = reg.Match(oText);
            if (ma.Success)
            {
                //是0到200之间的字符
                return true;
            }
            else
            {
                //不是0到200之间的字符
                //Response.Write("<script>alert('超出了输入限制:200个字符!');</script>");
                ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language=javascript>sAlert('超出了输入限制:200个字符!');</script>");
                return false;
            }
        }

复制代码

验证输入的内容是否数字(oText:输入的内容,直接调用下面方法进行判断):

复制代码

        public bool IsNumberic(string oText) //判断输入的是否是数字
        {
            try
            {
                int Number = Convert.ToInt32(oText);
                return true;
            }
            catch
            {
                //Response.Write("<script>alert('请输入数字!');</script>");
                ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language=javascript>sAlert('请输入数字!');</script>");
                return false;
            }
            引用正则表达式类
            //Regex reg=new Regex("^[0-9]+$");
            //Match ma = reg.Match(oText);
            //if(ma.Success)
            //{
            //    //是数字
            //    return true;
            //}
            //else
            //{
            //    //不是数字
            //    //Response.Write("<script>alert('请输入数字!');</script>");
            //    ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language=javascript>sAlert('请输入数字!');</script>");
            //    return false;
            //}
        }
  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值