C#實現(xiàn)驗證碼功能
本文實例為大家分享了C#實現(xiàn)驗證碼功能的具體代碼,供大家參考,具體內(nèi)容如下
分析
- 需要四個字符(字母(大小寫)+數(shù)字)
- 將四個字符連接成字符串
- 將連接的字符串寫入label中,在label中顯示驗證碼
解決辦法
1、創(chuàng)建隨機數(shù)生成器(Random)
2、使用for循環(huán)4次(驗證碼四個字符)
3、將4個隨機字母隨機數(shù)字連接成一個字符串
4、將鏈接好的字符串寫入label中
所用到的屬性,循環(huán)以及數(shù)據(jù)類型的轉(zhuǎn)換
- 用到Random隨機生成器類(先實例化)Random s = new Random();
- FromArgb方法label1.ForeColor = Color.FromArgb(s.Next(0, 255), s.Next(0, 255), s.Next(0, 255));字體隨機顏色
- 用到for循環(huán)(驗證碼為四位所以循環(huán)四次)
- 將數(shù)字轉(zhuǎn)化為字符(大寫字母) (char)s.Next(65,91)顯式轉(zhuǎn)換
- 將字符轉(zhuǎn)化為字符串(ToString方法)字符后面直接點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)
{
//分析:驗證碼為4個字符,產(chǎn)生數(shù)字大小寫字母隨機,將四個字符連接成一個字符串,將字符串寫入Label中
string c = "";//初始化驗證碼
Random s = new Random();//隨機數(shù)生成器
for (int i = 0; i < 4; i++)//組成(隨機四位0~9數(shù)字、大小寫字母)
{
int b = s.Next(0,3);//b表示驗證碼類型,此隨機數(shù)為0、1、2
//驗證碼是數(shù)字是字母隨機(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于C#調(diào)用C++dll傳指針釋放內(nèi)存問題
這篇文章主要介紹了關(guān)于C#調(diào)用C++dll傳指針釋放內(nèi)存問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
C#使用DevExpress中的SplashScreenManager控件實現(xiàn)啟動閃屏和等待信息窗口
這篇文章介紹了C#使用DevExpress中的SplashScreenManager控件實現(xiàn)啟動閃屏和等待信息窗口的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
C#分析URL參數(shù)并獲取參數(shù)和值對應(yīng)列表的方法
這篇文章主要介紹了C#分析URL參數(shù)獲取參數(shù)和值對應(yīng)列表的方法,涉及C#進行URL分析及正則表達式的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
C# 使用 OleDbConnection 連接讀取Excel的方法
這篇文章主要介紹了C# 使用 OleDbConnection 連接讀取Excel的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

