Random sj = new Random();//創建隨機數
private void button1_Click(object sender, EventArgs e)
{ //定義一個字符串來接收驗證碼
string sjs = "";
//定義多種字體的數組
String[] ziti = { "Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond", "Courier New", "Book Antiqua", "Arial Narrow" };
for (int i = 0; i < 4; i++)
{ //判斷大小寫字母與數字
int pd = sj.Next(0, 3);
if (pd == 0)
{
sjs += sj.Next(0, 9).ToString();
}
else if (pd == 1)
{
sjs += ((char)sj.Next(65, 91)).ToString();//小寫字母
}
else
{
sjs += ((char)sj.Next(97, 123)).ToString();//大寫字母
}
}
**第一種方法直接通過索引取出**
//字符串數據,根據索引直接sjs[0]就可以取得字符串中第一個字符,以此類推,sjs[1]爲字符串第二個字符
label1.Text = sjs[0].ToString();
label2.Text = sjs[1].ToString();
label3.Text = sjs[2].ToString();
label4.Text = sjs[3].ToString();
*第二種方法Split()函數*
string sjs = "";
for (int i = 0; i < 4; i++)
{
int pd = sj.Next(0, 3);
if (pd == 0)
{
sjs += sj.Next(0, 9).ToString()+"-";
}
else if (pd == 1)
{
sjs += ((char)sj.Next(65, 91)).ToString() + "-";
}
else
{
sjs += ((char)sj.Next(97, 123)).ToString() + "-";
}
}
//Split()分隔字符串爲一個數組
string[] str = sjs.Split('-');
//根據索引來獲取字符
label1.Text = str[0];
label2.Text = str[1];
label3.Text = str[2];
label4.Text = str[3];
**第三種方法Substring()函數**
string sjs = "";
for (int i = 0; i < 4; i++)
{
int pd = sj.Next(0, 3);
if (pd == 0)
{
sjs += sj.Next(0, 9).ToString();
}
else if (pd == 1)
{
sjs += ((char)sj.Next(65, 91)).ToString();
}
else
{
sjs += ((char)sj.Next(97, 123)).ToString();
}
}
//截取字符串 Substring()
// 將字符串進行截取
string sjs1 = sjs.Substring(0,1);
string sjs2 = sjs.Substring(1, 1);
string sjs3 = sjs.Substring(2, 1);
string sjs4 = sjs.Substring(3, 1);
label1.Text = sjs1;
label2.Text = sjs2;
label3.Text = sjs3;
label4.Text = sjs4;
//設置隨機顏色
label1.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
label2.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
label3.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
label4.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
//設置隨機字體與字體大小
label1.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
label2.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
label3.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
label4.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
}
}
}
C#實現隨機驗證碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.