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 = "看不清換一張";
}
}
}
效果圖

以上就是本文的全部內(nèi)容,希望對大家的學(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)識別圖片上的驗(yàn)證碼數(shù)字
- C#驗(yàn)證碼識別類完整實(shí)例
- C#實(shí)現(xiàn)的一款比較美觀的驗(yàn)證碼完整實(shí)例
- c# .net 生成圖片驗(yàn)證碼的代碼
- C#實(shí)現(xiàn)的簡單驗(yàn)證碼識別實(shí)例
- C#實(shí)現(xiàn)發(fā)送手機(jī)驗(yàn)證碼功能
- 使用C#的aforge類庫識別驗(yàn)證碼實(shí)例
相關(guān)文章
C#用websocket實(shí)現(xiàn)簡易聊天功能(客戶端)
這篇文章主要為大家詳細(xì)介紹了C#用websocket實(shí)現(xiàn)簡易聊天功能,客戶端方向,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C#實(shí)現(xiàn)支付寶沙箱支付的項(xiàng)目實(shí)踐
本文主要介紹了C#實(shí)現(xiàn)支付寶沙箱支付的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
C#應(yīng)用BindingSource實(shí)現(xiàn)數(shù)據(jù)同步的方法
這篇文章主要介紹了C#應(yīng)用BindingSource實(shí)現(xiàn)數(shù)據(jù)同步的方法,需要的朋友可以參考下2014-08-08

