aspx页面调用发送邮件验证码(结合前两篇)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" language="javascript">
var times = 60;
function FunCanUse() {
if ($("#Email").val() == "") {
$("#<%=this.Label1.ClientID %>").html("请输入邮箱");
}
else {
var t;
var partten = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
if (!partten.test(document.getElementById("Email").value)) {
return;
}
if (times == 60) {
var Email = $("#Email").val();
$.ajax({
type: "GET",
dataType: "json",
url: '<%=ResolveUrl("~")%>EmailRandCode.ashx',
data: "email=" + encodeURIComponent(Email) + "&action=delete&T=" + new Date(),
success: function (result) {
}
})
}
document.getElementById('btnSendCheckCode').style.display = "none";
times = times - 1;
document.getElementById('btnCode').style.display = "block";
document.getElementById('btnCode').value = times + "秒后重新获取";
t = setTimeout('FunCanUse()', 1000); //1秒后启用
if (times == 0) {
clearTimeout(t);
times = 60;
document.getElementById('btnSendCheckCode').value = '重新发送验证码';
document.getElementById('btnSendCheckCode').style.display = "block";
document.getElementById('btnCode').style.display = "none";
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<label class="lb">
<span class="required">*</span>邮箱</label>
<input id="Email" type="text" runat="server" class="ipt-t" tabindex="2" placeholder="请输入邮箱" />
<asp:Label ID="Label1" runat="server" Text="" ForeColor="Red"></asp:Label>
<a id="btnSendCheckCode" onclick="FunCanUse()" href="#" style="display: block; width: 80px;
margin-left: 280px; font-size: 12pt;">发送验证码</a>
<input id="btnCode" type="button" value="" style="width: 180px; margin-top: 5px;" />
</div>
</form>
</body>
</html>
aspx.sc 后台验证
页面验证(aspx页面)
if (Request.Cookies["EmailRandCode"] != null)
{
string strCheckCode = HttpUtility.UrlDecode(Request.Cookies["EmailRandCode"].Values[0].ToString());
string strCurDateTime = HttpUtility.UrlDecode(Request.Cookies["EmailRandCode"].Values[1].ToString());
//判断是否过期,若不过期,
DateTime dt = DateTime.Parse(strCurDateTime);
DateTime dtNow = System.DateTime.Now;
TimeSpan spT = dtNow - dt;
if (spT.TotalSeconds <= 180)
{
if (strCheckCode != txtCheckCode.Text.Trim())
{
this.AddResponseWriteScript("alert('验证码错误!');");
return;
}
}
else if (txtCheckCode.Text.Trim() == "")
{
this.AddResponseWriteScript("alert('请输入验证码!');");
return;
}
else
{
this.AddResponseWriteScript("alert('验证码过期,请重新获取!');");
return;
}
}
else if (txtCheckCode.Text.Trim() == "")
{
this.AddResponseWriteScript("alert('请输入验证码!');");
return;
}
else
{
this.AddResponseWriteScript("alert('验证码过期,请重新获取!');");
return;
}
aspx页面调用发送邮件验证码(结合前两篇)的更多相关文章
- 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!
前言:前两篇转载别人的精彩文章,自己也总结一下吧! 最近又开始用起py,是为什么呢? 自己要做一个文本相似度匹配程序,大致思路就是两个文档,一个是试题,一个是材料,我将试题按每题分割出来,再将每题的内 ...
- aspx页面调用webapi接口报错:远程服务器返回错误:(500)内部服务器错误
代码在运行到response = (HttpWebResponse)request.GetResponse();就开始报错 原因:可能因为所调用的接口不存在或者接口中存在错误,可用postman测试接 ...
- SpringMvc支持Ajax概述【见前两篇随笔--详述前后数据互通】
1.原生javaWeb:不再用 1).导入GSON: 2).返回的数据用GSON转成json 3).写出去: 2.SpringMVC快速的完成ajax功能? 导包 jackson-annotation ...
- 微信公众号支付(三):页面调用微信支付JS并完成支付
一.调用微信的JS文件 1.首先要绑定[JS接口安全域名],“公众号设置”的“功能设置”中 2.引入JS文件 备注:支持使用 AMD/CMD 标准模块加载方法加载 <script type=&q ...
- 用mvc模式,整理前两次的代码并增加登陆注册
简单的servlet连接mysql数据库 使用mvc的登录注册 commons-dbutils-1.6 mysql-connector-java-5.1.40-bin c3p0-0.9.5.2 mch ...
- wp-query调用前几篇文章的方法
---恢复内容开始--- 利用强大的wp-query函数调用指定分类下的前几篇文章,下面的代码表示调用的是分类ID4下的前两篇文章. <?php $cunt_wenzhen = array('c ...
- Jquery Ajax调用aspx页面方法
Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...
- webform工程中aspx页面为何不能调用appcode文件夹下的类(ASP.NET特殊文件夹的用法)
App_code 只有website类型的工程才有效. App_Code 下创建的.cs文件仅仅是“内容”不是代码.你设置那个文件为“编译”就行了. 其他特殊文件夹 1. Bin文件夹 Bin文件夹包 ...
- jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...
随机推荐
- JPush API client library for C Sharp(极光推送API)
概述 这是 JPush REST API 的 C# 版本封装开发包,是由极光推送官方提供的,一般支持最新的 API 功能. 对应的 REST API 文档:http://docs.jpush.io/s ...
- 你注意了么?int与Integer的区别
上次做项目时遇到了一个小问题. 我把javabean中的custid属性定义为int类型,当然与数据库中相应类型是一致的,而且在hibernate文件中配置时专门设置了not-null="f ...
- IE8下服务端获取客户端文件的路径为C:/fakePath问题的解决方案
上一篇文章上提到,IE8下服务端获取客户端文件的路径时,会变成C:/fakePath问题,于是乎通过文件路径去获得文件大小就失败了. 上网搜了一下,主要原因是IE8因为安全考虑,在上传文件时屏蔽了真实 ...
- AngularJS 2 VS Code Linter环境设置
Angular Cli npm install -g angular-cli https://www.npmjs.com/package/angular-cli TSLinter 1.1 ext in ...
- sql prompt 安装使用教程
sql prompt:和vs的自动提示一样 数据库:2008r2 下载地址:http://download.csdn.net/detail/wozengcong/9048381 安装教程:http:/ ...
- centos6配置网卡
#设置开机启动和静态地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=D8::E6::3F:CF TYPE=Ethe ...
- 锋利的js之验证身份证号
我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构 公民 ...
- RHEL7/CentOS7中更改网卡默认名称
1.重命名并修改网卡配置文件,将"NAME"参数更为我们熟悉的“eth*”,这里我将其改为"eth0" [root@localhost ~]# cd /etc/ ...
- c#跨线程访问控件帮助类
1.背景 对于winform程序来说,当我们点击按钮,需要消耗一定时长才能拿到数据后才能显示在界面上某个控件上的情况,我们通常会专门开一个线程去拿数据,这样不会造成界面处于假死状态 2.常规做法 // ...
- CheckedComboBoxEdit 重置初始化值的方法
CheckedComboBoxEdit ccbgb; ccbgb绑定方式ccbgb .Properties .DataSource =数据集; ccbgb.Properties.DisplayMemb ...