可切换的验证码

本文介绍如何创建一个可切换的验证码功能。首先利用Bootstrap搭建页面布局,包括一个输入框和显示验证码的图片。接着在控制器中编写方法生成随机验证码并将其存储在Session中,同时创建图片并返回。最后通过jQuery实现在用户点击或刷新时切换不同的验证码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先把页面布局做好,我利用bootstrap框架搭建,当然也可以用其他框架来搭建。

<div class="form-group row">

    <label for="IdentifyingCode" class="col-sm-3 col-xl-2 col-form-label txtr">验证码</label>

    <div class="col-sm-9 col-xl-10">

    <div class="input-group">

    <input type="text" class="form-control" id="IdentifyingCode" name="validCode" placeholder="请您输入验证码">

    <div class="input-group-prepend">

    <img src="/Main/ValidCode" class="input-group-text p-0" id="ValidateCode" />

    </div>

    </div>

    </div>

</div>

以上是搭建框架的代码,img是放验证码下面的图片的,src就是图片的地址;

col-form-label:放到<label>上以便他们垂直居中与他们相关的表单控件。

form-control:文本类的标签都可以用,.form-control样式进行处理优化

placeholder:要使用它那必须要看清楚input标签中是否有(aria-label、aria-labelledby、title属性),如果都没有辅助技术可以使用placeholder的属性;如果有上面几种属性出现,则不建议使用placeholder;

    页面显示如下

验证码上面的label标签上的txtr类是我自己给的一个类;

这个类主要是给“验证码”样式

   

在三行代码主要把它靠右、字体加粗和字体大小;

搭建完页面,然后转回控制器写随机验证码,

/// <summary>

/// 生成验证码

/// </summary>

/// <returns></returns>

public ActionResult ValidCode()

{

string strRandom = ValidCodeUtils.GetRandomCode(5);

Session["validCode"] = strRandom;

byte[] imgByte = ValidCodeUtils.CreateImage(strRandom);

return File(imgByte,@"image/jpeg");

}

    代码的解析:

1.///:这三条斜杠是用来备注的,在控制器页码上方连续打出三条斜杠就能备注该方法;

2.ValidCodeUtils.GetRandomCode(5):随机生成数字和字母(没有大小写之分),括号中的5代表可以随机生成具体(数字和字母(没有大小写之分))个数;

3.Session["validCode"] = strRandom将验证码存入Session会话,方便传数据;

4.byte[] imgByte = ValidCodeUtils.CreateImage(strRandom):创建一个数组imgByte来根据验证码来产生图片;

5.return File(imgByte,@"image/jpeg"):返回图片数据;

回到视图先引入jq必备的插件后,写入jq代码

Attr:是添加某某属性和属性值;

最终成品

点击或者刷新它都会切换不同的验证码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走☆苍穹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值