时间:2021-05-28
如果有哪里看不懂的,请留言哦
生成随机码类:SigowayRandom.cs
复制代码 代码如下:
using System;
namespace RongYi.Model.Common
{
/// <summary>
/// SigowayRandom 的摘要说明
/// </summary>
public class SigowayRandom
{
#region 获取校验码
/// <summary>
/// 获取校验码
/// </summary>
/// <returns>校验码字符数组</returns>
public static string[] GetCheckCode()
{
string[] strCheckCode = new string[4];
// 已系统时间毫秒为随机种子
int nSeed = Convert.ToInt16(DateTime.Now.Millisecond);
Random random = new Random(nSeed);
// 产生0-9随机数
strCheckCode[0] = Convert.ToString(random.Next(1, 10));
// 产生a-z、A-Z随机字母
strCheckCode[1] = SigowayRandom.GetLetter(random);
strCheckCode[2] = Convert.ToString(random.Next(1, 10));
strCheckCode[3] = SigowayRandom.GetLetter(random);
// 返回校验码
return strCheckCode;
}
#endregion
#region 获取字母,区分大小写
/// <summary>
/// 获取字母,区分大小写
/// </summary>
/// <returns>大小写字母</returns>
private static string GetLetter(Random random)
{
// 随机数
int nChar = random.Next(65, 122);
// 非字母ASCII段
if (nChar >= 91 && nChar <= 96)
{
nChar -= 6;
}
return Convert.ToString((char)nChar);
}
#endregion
}
}
绘制校验码类:SigowayDraw.cs
复制代码 代码如下:
using System.Drawing;
using System.Drawing.Imaging;
using System.Web;
namespace RongYi.Model.Common
{
/// <summary>
/// SigowayDraw 的摘要说明
/// </summary>
public class SigowayDraw
{
#region 构造方法
/// <summary>
/// 构造方法
/// </summary>
public SigowayDraw() { }
#endregion
#region 画校验码
/// <summary>
/// 画校验码
/// </summary>
/// <returns>校验码</returns>
public string DrawString()
{
// 设置字体
Font drawFont = new Font("Arial", 10);
// 创建位图元素
Bitmap objBitmap = new Bitmap(50, 20);
// 创建画图对象
Graphics objGraphics = Graphics.FromImage(objBitmap);
// 设置画布背景色
objGraphics.Clear(Color.White);
// 获取随机字符串
string[] strDrawString = SigowayRandom.GetCheckCode();
// 画字符串
objGraphics.DrawString(strDrawString[0], drawFont, new SolidBrush(Color.Purple), 1, 2);
objGraphics.DrawString(strDrawString[1], drawFont, new SolidBrush(Color.Green), 12, 2);
objGraphics.DrawString(strDrawString[2], drawFont, new SolidBrush(Color.Red), 24, 2);
objGraphics.DrawString(strDrawString[3], drawFont, new SolidBrush(Color.SteelBlue), 35, 2);
// 画干扰线
objGraphics.DrawLine(Pens.Silver, 5, 10, 40, 3);
objGraphics.DrawLine(Pens.Gray, 10, 5, 45, 15);
objGraphics.DrawLine(Pens.HotPink, 15, 20, 30, 10);
objGraphics.DrawLine(Pens.LightPink, 10, 15, 35, 20);
// 把图像画到位图对象中
objGraphics.DrawImage(objBitmap, 0, 0);
// 设置保存图片路径及名字
string strFile = HttpRuntime.AppDomainAppPath.ToString() + "/Resource/img/CheckCode.gif";
// 输出文件
objBitmap.Save(strFile, ImageFormat.Gif);
// 连接校验码字符串
string strCheckCode = string.Empty;
foreach (string strTemp in strDrawString)
{
strCheckCode += strTemp;
}
// 返回校验码
return strCheckCode;
}
#endregion
}
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1输出大写字母、小写字母、大小写字母、数字、大小写字母和数字1.1输出小写:找到小写a(97)到z(122)的的ASCII码,然后转义为字母lower=""fo
在VB中,字母以ASCII形式存储,而大小写字母的ASCII值相差32,这样的话,如果一个大写字母的ASCII值加上32就会变为对应的小写字母,而小写字母的AS
大小写字母转换:函数uc(uppercase)将所有的小写字母转成大写;函数lc(lowercase)将所有的大写字母转成小写;Perl提供了四个内置的函数类,
本文实例为大家分享了js实现随机五位数验证码的具体代码,供大家参考,具体内容如下功能展示:点击按钮,随机生成数字+大小写字母验证码所有代码:随机生成验证码/*验
有时候我们会截取字符串中的一些特殊想要的东西,大小写字母、模号、汉字、数字等等,今天先介绍一个获取字符串中小写字母(也是大写字母)的方式,直接上写法:DECLA