中文,字母,数字混合验证码

/// 产生随机的混合编码-使用文字,字母,数字混合
        /// </summary>
        /// <param name="mixLength"></param>
        /// <returns></returns>
        private string GetRndMix(int mixLength)
        {
            String Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z,好,哈,弹,平,合,下,天,人,无,有,中,木,不,字";
            String[] VcArray = Vchar.Split(‘,‘);

String VMix = "";

Random random = new Random();

for (int i = 1; i <= mixLength; i++)
            {
                int iNum = 0;
                iNum = random.Next(VcArray.Length);
                VMix += VcArray[iNum];
            }

return VMix;

}

/// <summary>
        /// 根据产生的随机数生成图象
        /// </summary>
        /// <param name="strCode"></param>
        private void CreateImg(string strCode, HttpContext context)
        {
            //也可以不用指定的图片,而是画一个背景图片
            Bitmap bitMapImage = new Bitmap(100, 25);
            Graphics graphicImage = Graphics.FromImage(bitMapImage);
            graphicImage.FillRectangle(new SolidBrush(Color.White), 0, 0, 100, 25);

//设置画笔的输出模式
            graphicImage.SmoothingMode = SmoothingMode.HighSpeed;

//添加文本字符串
            graphicImage.DrawString(strCode, new Font("Arial", 15, FontStyle.Bold), SystemBrushes.WindowText, new Point(0, 0));

//画图片的前景噪音点
            Random randomPixel = new Random();
            for (int i = 0; i < 200; i++)
            {
                int x = randomPixel.Next(bitMapImage.Width);
                int y = randomPixel.Next(bitMapImage.Height);

bitMapImage.SetPixel(x, y, Color.FromArgb(randomPixel.Next(0, 255), randomPixel.Next(0, 255), randomPixel.Next(0, 255)));
            }

//设置图像输出的格式
            context.Response.ContentType = "image/jpeg";

//保存数据流
            bitMapImage.Save(context.Response.OutputStream, ImageFormat.Jpeg);

//释放占用的资源
            graphicImage.Dispose();
            bitMapImage.Dispose();

}

生成中文验证码也可以,根据汉字编码来生成,这里就不发了,本文是自定义的一些简单的文字

时间: 2024-10-12 12:03:28

中文,字母,数字混合验证码的相关文章

转载 支持中文字母数字、自定义字体php验证码程序

<?phpclass Captcha{ //@定义验证码图片高度 private $height; //@定义验证码图片宽度 private $width; //@定义验证码字符个数 private $textNum; //@定义验证码字符内容 private $textContent; //@定义字符颜色 private $fontColor; //@定义随机出的文字颜色 private $randFontColor; //@定义字体大小 private $fontSize; //@定义字体 

MYSQL数据库字母数字混合字段排序问题

对MySQL数据表里的一个字符型字段排序,其内容格式为一位字母+顺序数字.数字没有前导零,长度不固定.这种含字母的数字序列,排序出来的结果和我们想要的结果是不一样的,因为它不是纯数字,只能按字符规则排.结果是A1,A10,A11,A12....A19,A2,A20,A21....而不是我们通常感觉中的A1,A2,A3,.....A10,A11,这样的结果.想要得到正确的排序有两个办法.一是改变字段内容结构,在数字前加上零,让所有的字段值拥有相同的长度.二是不改变字段内容,在排序的SQL语句上想办

含有对象的List集合实现字母数字混合排序

List<PageData> varList = [{BOMCode=10A, mantotal=4}, {BOMCode=10B, mantotal=1}, {BOMCode=11A, mantotal=1}, {BOMCode=11B, mantotal=1}, {BOMCode=12A, mantotal=1}, {BOMCode=1A, mantotal=9}, {BOMCode=2A, mantotal=168}, {BOMCode=2B, mantotal=57}, {BOMCod

js验证逗号隔开可以是中文字母数字

<script type="text/javascript"> var refid='dasdasd,dadsad'; var reg =/^([\u0391-\uFFE5\d\w,])*([\u0391-\uFFE5\d\w]+)$/; if(refid != "") { if(reg.exec(refid)) { alert('验证通过'); }else { alert('验证失败'); } }</script>

通过php生成纯数字、字母数字、图片、纯汉字的随机数验证码

现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡! 首先,我们开始先生成一个放验证码的背景图片 注:没有Imagejpg()这个函数,只有imagepng()函数 imagecreatetruecolor()函数含义 效果 考虑到我们一般验证码的背景图片为白色,那么我们现在就把背景图片改一下 效果 相关函数意思 注:在输出图片之前,我们必须要生成header("Content-type:image/png"),即告诉服务器输出的是图片 一.生成纯数字验证码 1.产生数字的代

PHP字母数字验证码和中文验证码

1:字母数字组合的验证码 HTML代码: 1 验证码:<input type="text" name="code"> 2 <img onclick="this.src='./gd.php?aa='+Math.random()" src="./gd.php"/> PHP代码: 1 //产生随机验证码字符 2 $str="abcdefghigklmnopqrstuvwxyz0123456789AB

2.04 对字母数字的混合排序

问题:现有字母和数字混合的数据,希望按照数字或字符部分来排序.考虑这个视图: create view V as select concat(ename, ' ',deptno) from emp; mysql> select * from v;+---------------------------+| concat(ename, ' ',deptno) |+---------------------------+| SMITH 20                  || ALLEN 30  

php+正则将字符串中的字母数字和中文分割

原文出处 如果一段字符串中出现字母数字还有中文混排的情况,怎么才能将他们区分开呢,经过一番思索,得到了如下代码,分享给大家 如:$str="php如何将字 符串中322的字母数字sf f45d和中文_分割?";  按数字或字母分割. <?php $str = "php如何将字 符串中322的字母数字Asf f45d和中文_分割?"; $array = preg_split("/([a-zA-Z0-9]+)/", $str, 0, PREG_

汉字和数字混合排序

最近需要实现汉字和数字混合排序的功能,但在网上找了好久,没有找到合适的.比如 需要将下面的 数据排序:"测试1,测试20,测试10,测试2".用网络上别人写的算法去排序 ,最终得到的结果是:测试1,测试10,测试2,测试20.但这个结果并不是我想要的,我需要的是 汉字和数字混合排序,汉字按照首字母排列,数字也需要按照从小到大排序.所以希望得到的实际结果应该是:测试1,测试2,测试10,测试20. 既然网络上没有合适的算法,那就只好自己写了.最终只找到一个比较 搓的办法,但还是能实现 汉