C#實(shí)現(xiàn)驗(yàn)證字符串的長(zhǎng)度的方法詳解
一、使用的方法
1.使用正則表達(dá)式
使用正則表達(dá)式可以判斷和限制用戶輸入的字符串長(zhǎng)度。
比如驗(yàn)證用戶密碼不得少于8為,匹配的正則表達(dá)式"^.{8,}$",其中.{8,}表示匹配除換行符外的8個(gè)或8個(gè)以上的字符。
2.通過(guò)計(jì)算字符串的長(zhǎng)度驗(yàn)證
通過(guò)字符串對(duì)象的Length屬性可以有效地判斷和限制用戶輸入的字符串長(zhǎng)度。同理,把字符串轉(zhuǎn)換成字符數(shù)組,然后計(jì)算該字符數(shù)組的長(zhǎng)度同樣可以實(shí)現(xiàn)此功能。
好啦,翠花,上源碼:
二、實(shí)例
本文作者用兩種方法實(shí)現(xiàn)標(biāo)題的設(shè)計(jì)目的:
驗(yàn)證1:使用正則表達(dá)式;
驗(yàn)證2:
(1)通過(guò)計(jì)算字符串的長(zhǎng)度來(lái)判斷;
(2)先把字符串轉(zhuǎn)換成字符數(shù)組,然后計(jì)算字符數(shù)組的長(zhǎng)度判斷;
1.源碼
// 用正則表達(dá)式驗(yàn)證字符串長(zhǎng)度≥8 // 用字符數(shù)組的長(zhǎng)度或字符串的長(zhǎng)度 namespace _089 { public partial class Form1 : Form { private GroupBox? groupBox1; private TextBox? textBox1; private Button? button1; private Label? label1; private Button? button2; public Form1() { InitializeComponent(); StartPosition = FormStartPosition.CenterScreen; Load += Form1_Load; } private void Form1_Load(object? sender, EventArgs e) { // // textBox1 // textBox1 = new TextBox { Location = new Point(146, 17), Name = "textBox1", Size = new Size(100, 23), TabIndex = 2 }; // // button1 // button1 = new Button { Location = new Point(171, 44), Name = "button1", Size = new Size(75, 23), TabIndex = 1, Text = "驗(yàn)證1", UseVisualStyleBackColor = true }; button1.Click += Button1_Click; // // label1 // label1 = new Label { AutoSize = true, Location = new Point(35, 23), Name = "label1", Size = new Size(80, 17), TabIndex = 0, Text = "輸入字符串:" }; // // button2 // button2 = new Button { Location = new Point(171, 71), Name = "button2", Size = new Size(75, 23), TabIndex = 3, Text = "驗(yàn)證2", UseVisualStyleBackColor = true }; button2.Click += Button2_Click; // // groupBox1 // groupBox1 = new GroupBox { Location = new Point(12, 12), Name = "groupBox1", Size = new Size(280, 100), TabIndex = 0, TabStop = false, Text = "驗(yàn)證字符串長(zhǎng)度:" }; groupBox1.Controls.Add(button2); 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, 123); Controls.Add(groupBox1); Name = "Form1"; Text = "正則表達(dá)式驗(yàn)證字符串長(zhǎng)度"; groupBox1.ResumeLayout(false); groupBox1.PerformLayout(); } /// <summary> /// 用正則表達(dá)式驗(yàn)證字符串長(zhǎng)度≥8 /// </summary> private void Button1_Click(object? sender, EventArgs e) { if (textBox1!.Text != "") { if (!Islength8(textBox1!.Text)) { MessageBox.Show("字符串長(zhǎng)度<8", "驗(yàn)證1"); } else { MessageBox.Show("字符串長(zhǎng)度≥8", "驗(yàn)證1"); } } else { MessageBox.Show("字符串不能為空", "驗(yàn)證1"); } } /// <summary> /// 通過(guò)計(jì)算字符串的長(zhǎng)度驗(yàn)證; /// 通過(guò)把字符串轉(zhuǎn)成字符數(shù)組,然后計(jì)算字符數(shù)組的長(zhǎng)度驗(yàn)證; /// </summary> private void Button2_Click(object? sender, EventArgs e) { if (textBox1!.Text != "") { //檢測(cè)字符串轉(zhuǎn)化的字符數(shù)組的長(zhǎng)度 char[] charArr = textBox1!.Text.ToCharArray(); if (charArr.Length >= 8) { MessageBox.Show("字符串長(zhǎng)度≥8", "驗(yàn)證2"); } else { MessageBox.Show("字符串長(zhǎng)度<8", "驗(yàn)證2"); } //檢測(cè)字符串的長(zhǎng)度 //if (textBox1!.Text.Length >= 8) //{ // MessageBox.Show("字符串長(zhǎng)度≥8", "驗(yàn)證2"); //} //else //{ // MessageBox.Show("字符串長(zhǎng)度<8", "驗(yàn)證2"); //} } else { MessageBox.Show("輸入的字符不能為空", "驗(yàn)證2"); } } /// <summary> /// 驗(yàn)證字符串長(zhǎng)度是否≥8 /// </summary> /// <param name="str_Length">用戶輸入的字符串</param> /// <returns>方法返回布爾值</returns> public static bool Islength8(string str_Length) { return MyRegex().IsMatch(str_Length); } [System.Text.RegularExpressions.GeneratedRegex(@"^.{8,}$")] private static partial System.Text.RegularExpressions.Regex MyRegex(); } }
2.生成效果
到此這篇關(guān)于C#實(shí)現(xiàn)驗(yàn)證字符串的長(zhǎng)度的方法詳解的文章就介紹到這了,更多相關(guān)C#驗(yàn)證字符串長(zhǎng)度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#儀器數(shù)據(jù)文件解析Excel文件的方法淺析(xls、xlsx)
這篇文章主要給大家介紹了關(guān)于C#儀器數(shù)據(jù)文件如何解析Excel文件的方法,包括解析xls、xlsx兩種格式,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10Unity UGUI的ToggleGroup選項(xiàng)組件介紹使用
這篇文章主要為大家介紹了Unity UGUI的ToggleGroup選項(xiàng)組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07C#數(shù)據(jù)綁定(DataBinding)簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了C#數(shù)據(jù)綁定(DataBinding)簡(jiǎn)單實(shí)現(xiàn)方法,以簡(jiǎn)單實(shí)例形式簡(jiǎn)單分析了C#實(shí)現(xiàn)數(shù)據(jù)綁定與讀取的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#調(diào)用海康工業(yè)相機(jī)SDK采集圖像并在Halcon窗口中顯示方式
這篇文章主要介紹了C#調(diào)用??倒I(yè)相機(jī)SDK采集圖像并在Halcon窗口中顯示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Unity shader實(shí)現(xiàn)多光源漫反射以及陰影
這篇文章主要為大家詳細(xì)介紹了shader實(shí)現(xiàn)多光源漫反射以及陰影,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07c#委托把方法當(dāng)成參數(shù)(實(shí)例講解)
本篇文章主要是對(duì)c#委托把方法當(dāng)成參數(shù)的實(shí)例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01C#游戲開(kāi)發(fā)之實(shí)現(xiàn)俄羅斯方塊游戲
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)經(jīng)典俄羅斯方塊游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2023-01-01.Net WInform開(kāi)發(fā)筆記(二)Winform程序運(yùn)行結(jié)構(gòu)圖及TCP協(xié)議在Winform中的應(yīng)用
中午沒(méi)事,把去年剛畢業(yè)那會(huì)畫(huà)的幾張圖翻出來(lái)了,大概介紹Winform應(yīng)用程序運(yùn)行的過(guò)程,以及TCP協(xié)議在Winform中的應(yīng)用。感興趣的朋友可以了解下;如果有Windows消息機(jī)制等基礎(chǔ),很好理解這兩張2013-01-01