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