62,046
社区成员
发帖
与我相关
我的任务
分享
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="Scripts/jquery-sjyz.js"></script>
<title>手机绑定</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="Con">
<ul>
<li class="left">输入手机号码:</li>
<li class="right">
<input id="txtMobile" runat="server" type="text" class="Text" /><input
id="btnGetYzm" runat="server" type="button" class="hyzm" value="获取验证码" />
</li>
</ul>
<ul>
<li class="left">验证码:</li>
<li class="right">
<input id="txtChkCode" runat="server" type="text" class="Text" /></li>
<li id="liCheckCode" runat="server" class="ts">* 请输入手机收到的验证码。如果一段时间没有收到,请 <a
id="aGetChkCodeAgain" style="cursor: pointer;" class="a1">重新获取</a></li>
</ul>
</div>
</form>
</body>
</html>
$(function () {
$("#btnGetYzm,#aGetChkCodeAgain").bind("click", function () {
if (mobileResult == true) {
/****************************发送验证码到手机************************/
$.ajax({
type: "POST",
url: "../SendCheckcode.ashx?r=" + Math.random(),
data: { ajaxdata: $("#txtMobile").val() },
async: false,
success: function (msg) {
if (msg != 0) {
$("#liCheckCode").html(msg);
$("#liCheckCode").css("color", "red");
result = false;
}
else {
$("#liCheckCode").html("手机号验证通过");
$("#liCheckCode").css("color", "green");
result = true;
}
},
error: function (xhr) {
$("#liCheckCode").html("Error:" + xhr.status + " " + xhr.statusText);
$("#liCheckCode").css("color", "red");
result = false;
}
});
/****************************end************************/
count = 30;
GetYzm();
return true;
}
else {
//手机号验证
VerifyCheck($("#txtMobile"), $("#liCheckCode"), "请输入正确的手机号!", /^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/, "手机号不合法!", "../ExistsMobile.ashx");
return false;
}
});
var result = false;
var mobileResult = false;
var retMobile = false; //手机号验证是否通过
var retChkCode = false; //填写的手机接收的验证码是否通过
//表单元素验证,txt:要验证的文本值;div:文本验证信息层;divmsg:文本验证消息;
//reg:正则式;regmsg:正则式验证消息;ajaxurl:文本值有效性请求验证页面;divhtml:验证返回消息
function VerifyCheck(txt, div, divmsg, reg, regmsg, ajaxurl) {
if ($.trim(txt.val()) == "") {//判断文本框是否填写
div.html(divmsg);
div.css("color", "red");
return false;
}
else {
if (reg != null && !reg.test(txt.val())) {//判断是否输入合法字符
div.html(regmsg);
div.css("color", "red");
return false;
}
else {
/****************************检查文本输入值是否可用************************/
$.ajax({
type: "POST",
url: ajaxurl + "?r=" + Math.random(),
data: { ajaxdata: txt.val() },
async: false,
success: function (msg) {
if (msg != 0) {
div.html(msg);
div.css("color", "red");
result = false;
}
else {
div.css("color", "green");
if (divmsg == "请输入正确的手机号!") {
mobileResult = true;
}
if (ajaxurl == "../ExistsMobile.ashx") {
div.html("手机号输入正确");
retMobile = true;
}
if (ajaxurl == "../ExistsMobileYzm.ashx") {
div.html("验证码输入正确");
retChkCode = true;
}
result = true;
}
},
error: function (xhr) {
div.html("Error:" + xhr.status + " " + xhr.statusText);
div.css("color", "red");
result = false;
}
});
return result;
/****************************end************************/
}
}
}
//设置发送验证码的按钮的倒计时效果
var count = 30;
function GetYzm() {
$("#btnGetYzm").attr("disabled", "disabled");
$("#btnGetYzm").val(count + "秒之后重新获取")
count--;
if (count > 0) {
setTimeout(GetYzm, 1000);
}
else {
$("#btnGetYzm").val("获取验证码");
$("#btnGetYzm").attr("disabled", false);
}
return result;
}
})(jQuery);
//页面加载时设置点击"发送验证码"按钮请求Ajax页面,Ajax页面生成验证码发送到手机端,发送之后设置按钮文字时间倒计时效果,如果手机号验证未通过将继续验证,验证通过后才能发送
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.SessionState;
using YoyeeInteface;
namespace Senparc.Weixin.MP.Sample.WebForms
{
/// <summary>
/// SendCheckcode 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class SendCheckcode : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string arrMobile = context.Request.Form["ajaxdata"].ToString();
string[] strMobile = arrMobile.Split(',');
string yzm = new Random().Next(999999).ToString();
context.Session["MobileYzm"] = yzm;
//如果是手机号登录
string strReg = @"^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)";
//bool IsMobile = BLL.HSSM_Public.PublicRegex(strReg, arrMobile);
bool b = false;
yzm = "您的验证码是:" + yzm + ",3分钟内有效。如非您本人操作,可忽略本消息。";
YoyeeSms sms = new YoyeeSms("hyyj", "248253");
//if (IsMobile)
string request = sms.sendSms(arrMobile, yzm);
if (request.Contains("提交成功"))
{
b = true;
}
//else
//{
// Model.EmailTabModel etm = new Model.EmailTabModel();
// etm.Email = arrMobile;
// b = BLL.HSSM_Public.SendEmail(etm, "", 919068484, "邮箱注册验证码", "当前注册验证码为:[" + yzm + "]", 0);//发送邮件
//}
if (b)
context.Response.Write("0");
else
context.Response.Write("发送失败!");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
发送短信请求的页