C#应用案例之随机验证码

本文介绍了三种在C#中生成随机验证码的方法,包括随机字体、字体大小和颜色的选择,适用于验证码的创建与验证。
摘要由CSDN通过智能技术生成
private void button1_Click(object sender, EventArgs e)
        {
            string result = "";  //记录最终的四个字符
            for (int i = 0; i < 4; i++)
            {
                int type = ra.Next(0, 3);  //区分数字  大写字母  小写字母
                if (type == 0)
                {
                    result += ra.Next(0, 10).ToString();
                }
                else if (type == 1)
                {
                    result += ((char)ra.Next(65, 91)).ToString();
                }
                else
                {
                    result += ((char)ra.Next(97, 123)).ToString();
                }
            }
            string[] zt = { "黑体", "宋体", "微软雅黑", "仿宋", "隶书" }; //为变量zt赋值(随机字体时要用)

第一种方法


            string str1 = result.Substring(0,1);  //将result中的第0位后1个字符赋值给str1   (0,1)表示result中第0位后的1个字符
            string str2 = result.Substring(1,1);   
            string str3 = result.Substring(2,1);
            string str4 = result.Substring(3,1);
            label1.Text = str1;  //再将 str 单个中的字符分别赋值给各个 labe  从而达到每个字符都是独立的目的
            label2.Text = str2;
            label3.Text = str3;
            label4.Text = str4;

第二种方法

            string[] str = result.Split('-');       //用"-"来对result中的字符进行截取    所以要在result的每个字符后加"-"
            label1.Text = str[0];
            label2.Text = str[1];
            label3.Text = str[2];
            label4.Text = str[3];

第三种方法

            label1.Text = result[0].ToString();
            label2.Text = result[1].ToString();
            label3.Text = result[2].ToString();
            label4.Text = result[3].ToString();

是字体,字体大小和字体颜色均为随机

            //随机颜色
            label1.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label2.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label3.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label4.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            //随机的字体和字体大小
            label1.Font = new Font(zt [ra.Next(5)], ra.Next(16,30));
            label2.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));
            label3.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));
            label4.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值