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));
            
                 }
              }
           }

猜你喜欢

转载自blog.csdn.net/weixin_44024993/article/details/105602797