checkcode.cs
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Drawing; ////// CheckCode 的摘要说明 /// public class CheckCode { public CheckCode() { // // TODO: 在此处添加构造函数逻辑 // } public static void DrawImage() { CheckCode img = new CheckCode(); HttpContext.Current.Session["CheckCode"] = img.RndNum(4); img.checkCodes(HttpContext.Current.Session["CheckCode"].ToString()); } ////// 生成验证图片 /// /// 验证字符 private void checkCodes(string checkCode) { int iwidth = (int)(checkCode.Length * 13); System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 23); Graphics g = Graphics.FromImage(image); g.Clear(Color.White); //定义颜色 Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple }; //定义字体 string[] font = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体" }; Random rand = new Random(); //随机输出噪点 for (int i = 0; i /// 生成随机的字母 /// /// 生成字母的个数 /// string private string RndNum(int VcodeNum) { string Vchar = "0,1,2,3,4,5,6,7,8,9"; string[] VcArray = Vchar.Split(','); string VNum = ""; //由于字符串很短,就不用StringBuilder了 int temp = -1; //记录上次随机数值,尽量避免生产几个一样的随机数 //采用一个简单的算法以保证生成随机数的不同 Random rand = new Random(); for (int i = 1; i再建立一个引用类的页面checkCode.aspx前台不用写东西,后台引用我们创建的类的DrawImage()方法即可。
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class checkCode : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CheckCode.DrawImage(); } }登录后复制
下面我们在需要验证码的页面引用checkCode.aspx页面即可。
前台![]()
登录后复制
后台判断
protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e) { if(this.Validator.Text==Session["CheckCode"].ToString()) { //。。。。 } else { Response.Write("alert('验证码输入错误,请重新输入!');Location='MumberValidate.aspx'"); return; } }登录后复制
以上代码请根据实际情况作适当修改。
更多asp.net生成验证码(纯数字)相关文章请关注PHP中文网!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2552763.html