.net图片验证码生成、点击刷新及验证输入是否正确
1.创建ValidateCode.aspx,在ValidateCode.aspx.cs中加入如下代码。生成验证码图片,在页面上输出,输出jpeg格式。
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bitmap b = new Bitmap(80, 30);// 图片大小 Graphics g = Graphics.FromImage(b);// 对图片操作 g.Clear(Color.Gray);// 填充背景色 Font f = new Font("华文行楷", 20f); //设置字体和大小 SolidBrush sb = new SolidBrush(Color.Wheat);//文字颜色 String vcode = Radom(0, 9, 4); Session["ValidateCode"] = vcode; g.DrawString(vcode, f, sb, 10, 2);//图片上的文字,风格,颜色,位置 b.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//在页面上输出,输出jpeg格式 } } private string Radom(int minValue, int maxValue, int length) { Random validateCode = new Random(); string r = ""; for (int i = 0; i < length; i++) { r = r + validateCode.Next(minValue, maxValue); } return r; }
2.在用到验证码的地方加入如下代码,onclick="jaavscript:this.src='/ValidateCode.aspx?t=' + Math.random()"的作用:点击图片刷新。
<img src="/ValidateCode.aspx" onclick="jaavscript:this.src='/ValidateCode.aspx?t=' + Math.random()"/>
3.判断验证码是否输入正确
if (!TxtVCode.Text.Equals( Session["ValidateCode"])) { Response.Write("<script>alert('验证码输入错误!');</script>"); } else { }