C#實(shí)現(xiàn)驗(yàn)證碼功能
本文實(shí)例為大家分享了C#實(shí)現(xiàn)驗(yàn)證碼功能的具體代碼,供大家參考,具體內(nèi)容如下
分析
- 需要四個(gè)字符(字母(大小寫)+數(shù)字)
- 將四個(gè)字符連接成字符串
- 將連接的字符串寫入label中,在label中顯示驗(yàn)證碼
解決辦法
1、創(chuàng)建隨機(jī)數(shù)生成器(Random)
2、使用for循環(huán)4次(驗(yàn)證碼四個(gè)字符)
3、將4個(gè)隨機(jī)字母隨機(jī)數(shù)字連接成一個(gè)字符串
4、將鏈接好的字符串寫入label中
所用到的屬性,循環(huán)以及數(shù)據(jù)類型的轉(zhuǎn)換
- 用到Random隨機(jī)生成器類(先實(shí)例化)Random s = new Random();
- FromArgb方法label1.ForeColor = Color.FromArgb(s.Next(0, 255), s.Next(0, 255), s.Next(0, 255));字體隨機(jī)顏色
- 用到for循環(huán)(驗(yàn)證碼為四位所以循環(huán)四次)
- 將數(shù)字轉(zhuǎn)化為字符(大寫字母) (char)s.Next(65,91)顯式轉(zhuǎn)換
- 將字符轉(zhuǎn)化為字符串(ToString方法)字符后面直接點(diǎn)ToString((char)s.Next(65,91)).Tostring
- 將數(shù)字轉(zhuǎn)化為字符串(ToString)
具體代碼如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Test_Security_Code { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //分析:驗(yàn)證碼為4個(gè)字符,產(chǎn)生數(shù)字大小寫字母隨機(jī),將四個(gè)字符連接成一個(gè)字符串,將字符串寫入Label中 string c = "";//初始化驗(yàn)證碼 Random s = new Random();//隨機(jī)數(shù)生成器 for (int i = 0; i < 4; i++)//組成(隨機(jī)四位0~9數(shù)字、大小寫字母) { int b = s.Next(0,3);//b表示驗(yàn)證碼類型,此隨機(jī)數(shù)為0、1、2 //驗(yàn)證碼是數(shù)字是字母隨機(jī)(0表示大寫字母,1表示數(shù)字,2表示小寫字母) if (b==0)//如果類型是大寫字母 { //此處將數(shù)字轉(zhuǎn)化為字符型,將字符轉(zhuǎn)化為字符串 c += ((char)s.Next(65,91)).ToString(); } if (b==1)//如果是數(shù)字 { //將數(shù)字轉(zhuǎn)化為字符串 c += s.Next(0, 10).ToString(); } if (b==2)//如果是小寫字母 { c += ((char)s.Next(97,122)).ToString(); } label1.Text = c;//將c中的值賦給label文本 //設(shè)置label中字體顏色 label1.ForeColor = Color.FromArgb(s.Next(0, 255), s.Next(0, 255), s.Next(0, 255)); //設(shè)置label中字體大小 label1.Font = new Font("黑體",s.Next(10,30)); } } private void Form1_Load(object sender, EventArgs e) { button1.Text = "看不清換一張"; } } }
效果圖
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ASP.net 驗(yàn)證碼實(shí)現(xiàn)代碼(C#)
- asp.net(C#) 生成隨機(jī)驗(yàn)證碼的代碼
- Asp.net(C#)實(shí)現(xiàn)驗(yàn)證碼功能代碼
- c#實(shí)現(xiàn)識(shí)別圖片上的驗(yàn)證碼數(shù)字
- C#驗(yàn)證碼識(shí)別類完整實(shí)例
- C#實(shí)現(xiàn)的一款比較美觀的驗(yàn)證碼完整實(shí)例
- c# .net 生成圖片驗(yàn)證碼的代碼
- C#實(shí)現(xiàn)的簡(jiǎn)單驗(yàn)證碼識(shí)別實(shí)例
- C#實(shí)現(xiàn)發(fā)送手機(jī)驗(yàn)證碼功能
- 使用C#的aforge類庫(kù)識(shí)別驗(yàn)證碼實(shí)例
相關(guān)文章
C#用websocket實(shí)現(xiàn)簡(jiǎn)易聊天功能(客戶端)
這篇文章主要為大家詳細(xì)介紹了C#用websocket實(shí)現(xiàn)簡(jiǎn)易聊天功能,客戶端方向,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02C#實(shí)現(xiàn)支付寶沙箱支付的項(xiàng)目實(shí)踐
本文主要介紹了C#實(shí)現(xiàn)支付寶沙箱支付的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05C#應(yīng)用BindingSource實(shí)現(xiàn)數(shù)據(jù)同步的方法
這篇文章主要介紹了C#應(yīng)用BindingSource實(shí)現(xiàn)數(shù)據(jù)同步的方法,需要的朋友可以參考下2014-08-08