<%@ 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="请输入邮箱" />
        &nbsp;&nbsp;&nbsp;&nbsp;<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页面调用发送邮件验证码(结合前两篇)的更多相关文章

  1. 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!

    前言:前两篇转载别人的精彩文章,自己也总结一下吧! 最近又开始用起py,是为什么呢? 自己要做一个文本相似度匹配程序,大致思路就是两个文档,一个是试题,一个是材料,我将试题按每题分割出来,再将每题的内 ...

  2. aspx页面调用webapi接口报错:远程服务器返回错误:(500)内部服务器错误

    代码在运行到response = (HttpWebResponse)request.GetResponse();就开始报错 原因:可能因为所调用的接口不存在或者接口中存在错误,可用postman测试接 ...

  3. SpringMvc支持Ajax概述【见前两篇随笔--详述前后数据互通】

    1.原生javaWeb:不再用 1).导入GSON: 2).返回的数据用GSON转成json 3).写出去: 2.SpringMVC快速的完成ajax功能? 导包 jackson-annotation ...

  4. 微信公众号支付(三):页面调用微信支付JS并完成支付

    一.调用微信的JS文件 1.首先要绑定[JS接口安全域名],“公众号设置”的“功能设置”中 2.引入JS文件 备注:支持使用 AMD/CMD 标准模块加载方法加载 <script type=&q ...

  5. 用mvc模式,整理前两次的代码并增加登陆注册

    简单的servlet连接mysql数据库 使用mvc的登录注册 commons-dbutils-1.6 mysql-connector-java-5.1.40-bin c3p0-0.9.5.2 mch ...

  6. wp-query调用前几篇文章的方法

    ---恢复内容开始--- 利用强大的wp-query函数调用指定分类下的前几篇文章,下面的代码表示调用的是分类ID4下的前两篇文章. <?php $cunt_wenzhen = array('c ...

  7. Jquery Ajax调用aspx页面方法

    Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...

  8. webform工程中aspx页面为何不能调用appcode文件夹下的类(ASP.NET特殊文件夹的用法)

    App_code 只有website类型的工程才有效. App_Code 下创建的.cs文件仅仅是“内容”不是代码.你设置那个文件为“编译”就行了. 其他特殊文件夹 1. Bin文件夹 Bin文件夹包 ...

  9. jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法

    1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...

随机推荐

  1. 使用archlinux作为日常开发机已经半年了,随便写一下

    机器配置 CPU: Intel Core i5-6200U CPU @ 2.8GHz RAM: 6114MiB / 7421MiB Resolution: 1920x2160 在arch下常用的软件 ...

  2. TJI读书笔记15-持有对象

    TJI读书笔记15-持有对象 总览 类型安全和泛型 Collection接口 添加元素 List 迭代器 LinkedList 栈 Set Map Queue Collection和Iterator ...

  3. linux 学习8 权限管理

    第八章 权限管理 8.1 ACL权限 8.2 文件特殊权限 8.3 文件系统属性chattr权限 8.4 系统命令sudo权限 8.1 ACL权限 ACL权限简介与开启 查看与设定ACL权限 最大有效 ...

  4. 开启macbook win7触控屏右键

    开启macbook win7触控屏右键,如下图

  5. 安装好oracle后,打开防火墙遇到的问题!

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT -A INPUT -j REJECT --reject-with ...

  6. Ubuntu 16.10下的eclipse

    下载后解压,放到文件下,打开此文件左边齿轮状的东西,即可指引安装:

  7. [转载] Java高新技术第一篇:类加载器详解

    本文转载自: http://blog.csdn.net/jiangwei0910410003/article/details/17733153 首先来了解一下字节码和class文件的区别: 我们知道, ...

  8. scrollview背景头部拉伸

    a - (void)viewDidLoad { [super viewDidLoad]; self.tableView.contentInset = UIEdgeInsetsMake(kImageOr ...

  9. 用Redis构建分布式锁-RedLock(真分布)

    在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段. 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增 ...

  10. C语言 断言 总结

    转载: http://wenda.so.com/q/1378817559065638?src=140 assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止 ...