欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用正則表達式實現(xiàn)常見的格式驗證

 更新時間:2024年01月30日 10:59:04   作者:wenchm  
這篇文章主要為大家詳細介紹了C#如何使用正則表達式實現(xiàn)常見的格式驗證,例如:電話號碼、密碼、郵編等,感興趣的小伙伴可以跟隨小編一起學習一下

正則表達式在程序設計中有著重要的位置,經常被用于處理字符串信息。

用Regex類的IsMatch方法,使用正則表達式可以驗證電話號碼是否合法。

一、涉及到的知識點

Regex類的IsMatch方法用于指示正則表達式使用pattern參數(shù)中指定的正則表達式是否在輸入字符串中找到匹配項。語法格式如下:

public static bool IsMatch(string input,string patterm)

參數(shù)說明

Input:字符串對象,表示要搜索匹配項的字符串。

Pattern:字符串對象,表示要匹配的正則表達式模式。

Bool:返回布爾值,如果正則表達式找到匹配項,則返回值為true,否則返回值為false。

其中,正則表達式中匹配位置的元字符“^”。正則表達式中“^”用于匹配行首,如果正則表達式匹配以First開頭的行,則正則表達式如下:^First。

如果電話號碼的格式:xxx-xxxxxxxx,其中,x—代表數(shù)字,那么匹配的正則表達式是:^(\d{3,4}-)?\d{6,8}$。

如果密碼有a-z、A-Z、0-9組成,并且至少一個大小寫字母和數(shù)字,那么其正則表達式:[A-Za-z]+[0-9];

如果密碼有a-z、A-Z、0-9組成,并且至少一個大小寫字母或數(shù)字,那么其正則表達式:[A-Za-z0-9]+,其中+有沒有都可以;

如果把正則表達式改為[A-Z]+[a-z]+[0-9],就變成依次至少一個大寫、一個小寫、一個數(shù)字了,打亂了順序都不行。

由6位數(shù)字組成的郵編的正則表達式:^\d{6}$;

二、實例1:驗證電話號碼的格式

//使用正則表達式驗證電話號碼
namespace _070
{
    public partial class Form1 : Form
    {
        private Label? label1;
        private Label? label2;
        private Label? label3;
        private Button? button1;
        private TextBox? textBox1;
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(36, 22),
                Name = "label1",
                Size = new Size(68, 17),
                TabIndex = 0,
                Text = "輸入號碼:"
            };
            // 
            // label2
            //        
            label2 = new Label
            {
                AutoSize = true,
                Location = new Point(156, 49),
                Name = "label2",
                Size = new Size(79, 17),
                TabIndex = 1,
                Text = "xxx-xxxxxxxx"
            };
            // 
            // label3
            //          
            label3 = new Label
            {
                AutoSize = true,
                Location = new Point(36, 49),
                Name = "label3",
                Size = new Size(68, 17),
                TabIndex = 2,
                Text = "號碼格式:"
            };
            // 
            // button1
            //         
            button1 = new Button
            {
                Location = new Point(160, 76),
                Name = "button1",
                Size = new Size(75, 23),
                TabIndex = 3,
                Text = "號碼驗證",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // textBox1
            // 
            textBox1 = new TextBox
            {
                Location = new Point(115, 16),
                Name = "textBox1",
                Size = new Size(120, 23),
                TabIndex = 4
            };
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(294, 111);
            Controls.Add(textBox1);
            Controls.Add(button1);
            Controls.Add(label3);
            Controls.Add(label2);
            Controls.Add(label1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "使用正則表達式驗證電話號碼";
          
        }
        /// <summary>
        /// 驗證電話號碼格式是否正確
        /// </summary>
        private void Button1_Click(object? sender, EventArgs e)
        {
            if (!IsTelephone(textBox1!.Text))
            { 
                MessageBox.Show("電話號碼格式不正確"); 
            }
            else 
            { 
                MessageBox.Show("電話號碼格式正確"); 
            }
        }
 
        /// <summary>
        /// 驗證電話號碼格式是否匹配
        /// </summary>
        /// <param name="str_telephone">電話號碼信息</param>
        /// <returns>方法返回布爾值</returns>
        public static bool IsTelephone(string str_telephone)
        {
            return MyRegex().IsMatch(str_telephone);
        }
 
        [System.Text.RegularExpressions.GeneratedRegex(@"^(\d{3,4}-)?\d{6,8}$")]
        private static partial System.Text.RegularExpressions.Regex MyRegex();
    }
}

三、實例2:驗證密碼的格式

// 使用正則表達式驗證密碼格式
namespace _071
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private Button? button1;
        private TextBox? textBox1;
        private Label? label1;
 
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(171, 58),
                Name = "button1",
                Size = new Size(100, 23),
                TabIndex = 2,
                Text = "驗證密碼格式",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // textBox1
            // 
 
            textBox1 = new TextBox
            {
                Location = new Point(126, 24),
                Name = "textBox1",
                Size = new Size(145, 23),
                TabIndex = 1
            };
            // 
            // label1
            //
 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(35, 30),
                Name = "label1",
                Size = new Size(68, 17),
                TabIndex = 0,
                Text = "輸入密碼:"
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(307, 87),
                TabIndex = 0,
                TabStop = false,
                Text = "密碼必須由數(shù)字和大小寫字母組成"
            };
            groupBox1.Controls.Add(button1);
            groupBox1.Controls.Add(textBox1);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();
 
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(331, 111);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "正則表達式驗證密碼格式";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
        }
 
        private void Button1_Click(object? sender, EventArgs e)
        {
            if (!IsPassword(textBox1!.Text.Trim()))
            { 
                MessageBox.Show("密碼格式不正確!!!"); 
            }
            else
            {
                MessageBox.Show("密碼格式正確!!!!!");
            }
        }
        /// <summary>
        /// 驗證碼碼輸入條件
        /// </summary>
        /// <param name="str_password">密碼字符串</param>
        /// <returns>返回布爾值</returns>
        public static bool IsPassword(string str_password)
        {
            return MyRegex().IsMatch(str_password);
        }
 
        [System.Text.RegularExpressions.GeneratedRegex(@"[A-Za-z]+[0-9]")]//至少有一個字母,至少有一個數(shù)字
        //[System.Text.RegularExpressions.GeneratedRegex(@"[A-Z]+[a-z]+[0-9]")]//依次至少有一個大寫一個小寫一個
        //[System.Text.RegularExpressions.GeneratedRegex(@"[A-Za-z0-9]+")]//至少一個
        private static partial System.Text.RegularExpressions.Regex MyRegex();
    }
}

四、實例3:驗證郵編的格式

// 用正則表達式驗證郵編合法性
namespace _072
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private TextBox? textBox1;
        private Button? button1;
        private Label? label1;
 
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // textBox1
            // 
            textBox1 = new TextBox
            {
                Location = new Point(139, 32),
                Name = "textBox1",
                Size = new Size(100, 23),
                TabIndex = 2
            };
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(139, 61),
                Name = "button1",
                Size = new Size(100, 23),
                TabIndex = 1,
                Text = "驗證郵編",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(55, 35),
                Name = "label1",
                Size = new Size(68, 17),
                TabIndex = 0,
                Text = "輸入郵編:"
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(280, 98),
                TabIndex = 0,
                TabStop = false,
                Text = "驗證郵編格式:"
            };
            groupBox1.Controls.Add(textBox1);
            groupBox1.Controls.Add(button1);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(304, 122);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "驗證郵編格式合法性";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
        }
 
        private void Button1_Click(object? sender, EventArgs e)
        {
            if (!IsPostalcode(textBox1!.Text))
            { 
                MessageBox.Show("郵政編號不正確!!!"); 
            }
            else 
            {
                MessageBox.Show("郵政編號正確!!!!!"); 
            }
        }
        /// <summary>
        /// 驗證郵編格式是否正確
        /// </summary>
        /// <param name="str_postalcode">郵編字符串</param>
        /// <returns>返回布爾值</returns>
        public static bool IsPostalcode(string str_postalcode)
        {
            return MyRegex().IsMatch(str_postalcode);
        }
 
        [System.Text.RegularExpressions.GeneratedRegex(@"^\d{6}$")]
        private static partial System.Text.RegularExpressions.Regex MyRegex();
    }
}

到此這篇關于C#使用正則表達式實現(xiàn)常見的格式驗證的文章就介紹到這了,更多相關C#格式驗證內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#數(shù)據(jù)結構與算法揭秘二 線性結構

    C#數(shù)據(jù)結構與算法揭秘二 線性結構

    本文中,我們討論了什么是線性結構,線性結構有哪些特點,并且詳細介紹了一個最簡單線性結構順序表,并且通過源代碼對她進行一些列的分析,最后還舉了兩個例子,讓我們更好的理解順序表
    2012-11-11
  • C# 線程同步詳解

    C# 線程同步詳解

    本文主要介紹了C#中線程同步的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#實現(xiàn)簡易計算器功能(附源碼)

    C#實現(xiàn)簡易計算器功能(附源碼)

    這篇文章主要為大家詳細介紹了C#實現(xiàn)簡易計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • c#掃描圖片去黑邊(掃描儀去黑邊)

    c#掃描圖片去黑邊(掃描儀去黑邊)

    最近項目遇到一個問題,需要對掃描出來的圖片進行去除黑邊,下面是實現(xiàn)代碼,需要的朋友可以參考下
    2014-03-03
  • C#幾種排序算法

    C#幾種排序算法

    C#幾種排序算法...
    2007-03-03
  • 使用VS2010 C#開發(fā)ActiveX控件(下),完整代碼打包下載

    使用VS2010 C#開發(fā)ActiveX控件(下),完整代碼打包下載

    我們介紹了開發(fā)、打包、發(fā)布、使用ActiveX控件的全過程。在演示程序中,我們沒有調用串口通信和讀卡器Dll程序,由于我們讀卡器的原始Dll是使用其它語言進行開發(fā)的,對C#來說,是非托管代碼,因此我們還需要在代碼級別進行非托管代碼的安全性設置
    2011-05-05
  • C#實現(xiàn)將一個矩陣分解為對稱矩陣與反稱矩陣之和的方法

    C#實現(xiàn)將一個矩陣分解為對稱矩陣與反稱矩陣之和的方法

    這篇文章主要介紹了C#實現(xiàn)將一個矩陣分解為對稱矩陣與反稱矩陣之和的方法,較為詳細的分析了矩陣分解運算的原理與C#實現(xiàn)技巧,需要的朋友可以參考下
    2015-08-08
  • C# 語言入門基礎介紹

    C# 語言入門基礎介紹

    這篇文章主要介紹了C# 語言入門基礎,c#是一種新式編程語言,不僅面向對象,還類型安全,本教程概述了 C# 8 及更高版本中該語言的主要組件。 下面一起進入文章了解更多的詳細內容吧
    2021-12-12
  • C#抓取當前屏幕并保存為圖片的方法

    C#抓取當前屏幕并保存為圖片的方法

    這篇文章主要介紹了C#抓取當前屏幕并保存為圖片的方法,實例分析了C#操作圖片的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 解析C#中用Process類終止進程,執(zhí)行命令的深入分析

    解析C#中用Process類終止進程,執(zhí)行命令的深入分析

    本篇文章是對C#中用Process類終止進程,執(zhí)行命令進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論