C#實現隨機驗證碼

        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));
            
                 }
              }
           }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章