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


本篇内容借鉴自https://blog.csdn.net/weixin_42983731/article/details/90075449

 

各种字符限制方式:

只能输入数字:"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;
            //}
        }

--------------------------------------------------------------------------------------------------

-_-  -_-  友情链接  -_-  -_-

--------------------------------------------------------------------------------------------------

C# / .net 学习园地:

https://www.cnblogs.com/Csharpblogs/category/307362.html

C# 基础智识

https://wenku.baidu.com/view/10f8f529453610661ed9f4e7.html

C# 语言转换工具

https://www.developerfusion.com/tools/convert/csharp-to-vb/

项目开发矢量图标

https://www.easyicon.net/iconsearch/%E5%AF%BC%E5%87%BA%E4%B8%BAexcel/4/?m=yes&f=_all&s=

Excel表格在线转换成PDF文件

http://app.xunjiepdf.com/excel2pdf


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM