验证码相关
来源:互联网 发布:php 下载图片到本地 编辑:程序博客网 时间:2024/05/16 04:29
后台可能用到的:
////随机验证码(6位纯数字)
//private string GenerateCheckCode()//{
// //创建整型型变量
// int number;
// //创建字符型变量
// char code;
// //创建字符串变量并初始化为空
// string checkCode = String.Empty;
// //创建Random对象
// Random random = new Random();
// //使用For循环生成4个数字
// for (int i = 0; i < 6; i++)
// {
// //生成一个随机数
// number = random.Next();
// //将数字转换成为字符型
// code = (char)('0' + (char)(number % 10));
// checkCode += code.ToString();
// }
// //返回字符串
// return checkCode;
//}
前台:
<script type="text/javascript">
var wait = 10;//验证码再次发送的时间限定
$("#btnGetNo").disabled = false;
function time(o) {
if (wait == 0) {
o.removeAttribute("disabled");
o.value = "再次获取";
wait = 10;
} else {
o.setAttribute("disabled", true);
o.value = "重新发送(" + wait + ")";
wait--;
setTimeout(function () {
time(o)
},
1000)
}
}
function GetNo()
{
if ($("#txtNum").val() == "")
{
var numbers = random();
$("#txtNum").val(numbers);
alert($("#txtNum").val());
returnclock()
}
alert("验证码已发送至您输入的手机号!有效期5分钟。如未收到,60s后可再次获取。");
time(document.getElementById("btnGetNo"));
RemainTime();
}
//获取6位随机验证码
function random() {
var num = "";
for (i = 0; i < 6; i++) {
num = num + Math.floor(Math.random() * 10);
}
return num;
}
//验证码有效期倒计时
var iTime = 30;//设置验证码有效时间
function RemainTime() {
var iSecond;
var sSecond = "", sTime = "";
if (iTime >= 0) {
iSecond = parseInt(iTime % 30);
if (iSecond >= 0) {
sSecond = iTime + "秒";
}
sTime = "<span style='color:darkorange;font-size:13px;'>" + sSecond + "</span>";
if (iTime == 0) {
// alert($("#txtNum").val());
$("#txtNum").val("");
// alert($("#txtNum").val());
sTime = "<span style='color:red;font-size:12px;'>验证码已过期</span>";
}
else {
Account = setTimeout("RemainTime()", 1000);
}
iTime = iTime - 1;
}
$("#endtime").html(sTime);
}
//重置验证码过期时间
function returnclock()
{
iTime = 30;
}
function loginSubmit() {
//alert(123);
var postdata = {
tel: $("#txtTel").val(),
num: $("#txtNum").val(),
innum: $("#txtCode").val(),
//示例数据
//tel: "123456789", //电话号码
// num: "123", //30min内有效地验证码
// innum: "123", //用户实际输入的验证码
}
$.ajax({
type: "post",
//url: "/account/AjaxAuthorizeUser?phone=" + @ViewBag.txtNum + "&smsCodeRand=" + @ViewBag.txtTel +"&inputCode=" + $("#txtCode").val(),
url: "/account/AjaxAuthorizeUser",
data: JSON.stringify(postdata),
dataType: "json",
processData: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
errorCode.getMsg(data, function () {
if (data.success) {
// document.location.href = "/admin/base";
alert("登陆成功!");
} else {
// $("#msgtip").html("验证码错误").css("color", "red");
$("#txtCode").val("");
$("#txtCode").select();
alert("验证码错误!");
}
}, function (e) {
$("#msgtip").html(e.msg + (data.msg == '' ? '(' + data.msg + ')' : '')).css("color", "red");
});
}
});
}
</script>
<body>
<form id="form1" runat="server">
<div>
<h2>登录</h2>
<h4>手机号:</h4>
<input id="txtTel" type="text" value="" /><input type="button" id="btnGetNo" onclick="GetNo()" value="获取验证码" />
<h4>验证码:</h4>
<input id="txtCode" type="text" value="" /><input type="button" id="btnSubmit" onclick="loginSubmit()" value="提交" />
</div>
<span><i></i><b id="endtime">aaa</b></span>
</form>
<input id="txtNum" type="hidden" value="@ViewBag.txtNum" />
<input id="tel" type="hidden" value="@ViewBag.txtTel"/>
</body>
public ActionResult AjaxAuthorizeUser(string tel, string num, string innum)
{
var telephone = tel ?? "";
var numbers = num ?? "";
var innumbers = innum ?? "";
ViewBag.txtNum = numbers;
ViewBag.txtTel = telephone;
var success = false;
if (tel != "" && numbers != "" && innumbers != "")
{
if (innumbers == numbers)
{
var datenow = DateTime.Now;
var datexpires = datenow.AddDays(1);
//查看是否有该用户
var user = UserDal.F_User_GetMemberInforByTel(tel);
//某有则去创建
if (user == null)
{
int isCreate = UserDal.F_User_CreateClient_ByTel(tel);
user = UserDal.F_User_GetMemberInforByTel(tel);
}
//获取相关用户信息,保存至cookie中
var ticket = new FormsAuthenticationTicket(
1,
user.Id.ToString(CultureInfo.InvariantCulture) + ":" + user.ClientName,
datenow,
datexpires,
true,
user.RoleName.ToString(CultureInfo.InvariantCulture)
);
var cookie = new HttpCookie(AdminAuthorizeAttribute.FormsCookieName, FormsAuthentication.Encrypt(ticket))
{
Expires = datexpires
};
Response.Cookies.Add(cookie);
success = true;
}
}
return Content(JsonConvert.SerializeObject(new
{
return_code = 0,
success
}));
}
- 验证码相关资料
- 验证码相关
- 验证码相关
- 短信验证码相关
- 验证码相关
- Struts2 验证码刷新相关
- 验证码相关新解
- java 验证码相关问题
- 验证码识别相关知识
- iOS 计时器-验证码相关
- 验证相关
- 关于验证码的相关文章
- 关于验证码图片成生相关
- 短信验证码通道相关误区
- Asp.Net验证相关
- 网络验证相关资料
- 网络验证相关资料
- thinkphp自动验证相关
- 星月神话
- python教程
- 10个重要算法C实现
- DDL、DML和DCL的理解
- hive select查询语句底层实现的某些细微差别
- 验证码相关
- swift教程 swift高手 swift项目 开发者论坛.
- 大话重构连载:遗留系统——软件工业时代的痛
- DML、DDL、DCL区别 .
- 有关UIView、subview的几个基础知识点-IOS开发 (实例)
- 常见的wordpress博客加速方法
- 日语编码
- C语言里的左移和右移运算
- Android之Adapter用法总结