手机短信验证码

article/2025/8/28 20:29:26

                                 阿里短信手机短信验证码功能

使用阿里短信服务管理

注册 登录阿里云 进入控制台 选择短信服务

 开通短信服务价格大概0.04元一条 貌似有100条免费试用。

点击新手指导可查看文档

  1 按照顺序进行注册登录实名认证

2 创建AccessKey

 

 3 进入短信服务控制台 创建签名管理 签名模板

 这里 只有签名管理的工单号 和 模板管理的模版CODE 后面代码中会用到

其中模板内容 例子:您的校验码:${code},您正在注册成为会员,感谢您的支持!code是后面代码里的验证码

下面是代码处理:下载SDK及DEMO

选择php

      接着是更改api_demo/SmsDemo.php里的配置信息


SmsDemo.php最后调用了3个方法可注释掉sendBatchSms()和querySendDetails()只测试sendSms();

$accessKeyId  $accessKeySecret 的值改成自己的AccessKey ID和AccessKey Secret

$request->setPhoneNumbers()方法填写号码,这里做测试填一下自己的手机号;

$request->setSignName();这里填自己的签名名称

$request->setTemplateCode(0这里填自己的模板CODE

$request->setTemplateParam()里的code值填写要发送的验证码

其它都是可选的可不做处理

此时便可放在本地服务器127.0.0.1/api_demo/SmsDemo.php便可看到页面信息,收到手机验证码后表示成功

[message]=OK 表示成功

问题:如何实现给任何手机号注册并实现随机6位验证码并验证输入的验证码是否正确

html:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript" src="index.js"></script>
</head>
<body>手机号:<input type="text" name="number" id="number"><button>点击获取验证码</button>输入验证码:<input type="text" name="code" id="code"><input type="button" name="" value="提交" id="submit">
</body>
</html>

更改api_demo/SmsDemo.php内容

sendSms()方法:

无需return $acsResponse

直接替换成一下代码

if($acsResponse->Code=='OK'){echo $request->getTemplateParam();   //json字符串 包含验证码}elseif($acsResponse->Code=='isv.MOBILE_NUMBER_ILLEGAL'){echo "-1";   //用于ajax回调 手机号格式出错}elseif($acsResponse->Code=='isv.BUSINESS_LIMIT_CONTROL'){echo "-2";   //用于ajax回调 超过限制 一个手机号一天条数}else{echo "-3";   //用于ajax回调  其它错误};

 后面直接调用sendSms()方法就行了

// 调用示例:
set_time_limit(0);
header('Content-Type: text/plain; charset=utf-8');SmsDemo::sendSms();

再创建一个6位随机数的方法:

    // 六位随机数public static function sexNum() {$_num = '';for($i=0;$i<6;$i++){$_num .= mt_rand(0,9);}return $_num;}

 在 $request->setTemplateParam更改code的值: "code"=>SmsDemo::sexNum(),

使用ajax获取验证码

步骤:url设置在api_demo/SmsDemo.php;data数据把number也就是填写的手机号传入,并更改api_demo/SmsDemo.php

 里 $request->setPhoneNumbers("{$_POST['number']}");

提交成功后会返回对应信息 如果返回1(可以在SmsDemo.php设置的)表示json字符串,转化为数组提取出code验证码

接着就是js设置的一些效果过60秒之后才能再次点击

最后再验证验证码是否正确

index.js:

$(function(){var code = '';    //用于存放发出的验证码// var a = {"code":"595266","product":"dsd"};var timer = 0;    //定时器$('button').click(function(){var t = 60;   //点击的时候重新赋值为60$.ajax({type:'POST',url:'api_demo/SmsDemo.php',data:{number:$('#number').val(),  //手机号},success:function(text){switch(text){case '-1':alert('手机号格式出错');break;case '-2':alert('超过限制');break;case '-3':alert('其他错误');break;default:// {"code":"595266","product":"dsd"}// 成功返回验证码message = JSON.parse(text);  //把json字符串转化为数组// alert(typeof message)// alert(message.code);code = message.code;    //得到验证码// alert(code);// 定时器timer = setInterval(function(){$('button').attr('disabled',true);  //点击发送验证码功能暂时失效$('button').html(t+'s后重新发送');t--;   if(t==0){$('button').attr('disabled',false);$('button').html('点击获取验证码');clearInterval(timer);  //清除定时器}},1000);}},})})// 验证验证码$('#submit').click(function(){if($('#code').val()==code){alert('注册成功');}else{alert('注册失败');alert(code);alert($('#code').val());}})
})


 


http://chatgpt.dhexx.cn/article/YWGlsQSm.shtml

相关文章

短信验证码

写一个发送验证码的功能&#xff0c;需要实现第三方接口&#xff0c;一般采用阿里的接口 第一步:登录阿里大于官网&#xff0c;只需淘宝号即可。 第二步&#xff1a;申请验证码中的签名和短信模板&#xff0c;审核通过即可测试 第三步&#xff1a;下载阿里大于的jar包&#xff…

Win-mac版 AE 2018安装附教程

链接:https://pan.baidu.com/s/17QXFuotLoPmqDQa8DBBRrA?pwdw106 提取码:w106

AE2022最新功能简介

没有什么是您无法使用 After Effects 创建的。 创建电影电影标题、简介和转场。从剪辑中移除对象。生火或下雨。为徽标或角色设置动画。甚至在 3D 空间中导航和设计。借助行业标准的 动态图形 和 视觉效果软件After Effects&#xff0c;您可以将任何想法付诸实践。 ​下载&…

AE圣诞树(html版本),免费

最近网上很火的AE圣诞树&#xff0c;这里免费提供给大家HTML版本 源码和视频下载&#xff1a;https://download.csdn.net/download/qq_56088882/87260627

最新版Adobe2023:After Effects 2023(Ae2023) win/mac版中文特别版

Adobe After Effects 2023(AE2023)它用于视频处理后期制作、创建音乐视频、广告、动画、标题以及许多其他需要数字视频效果的元素。Adobe After Effects提供了出色的控制功能、广泛的创意工具以及与其他视频应用程序集成的能力。由于第三方开发的大量插件库&#xff0c;Adobe A…

解决PR AE 2018打不开,且桌面出现报错文件

1.win11系统安装完pr2018之后&#xff0c;出现了如下报错的文件。 2.排查 安装包是之前笔记本常用的一直没报错&#xff0c;用压缩包封装着不存在文件的缺失。 经过查阅Adobe官方文档发现这是版本未优化的BUG,大部分存在于使用独显的电脑。有相关问题的朋友可以尝试替换高版本…

水清冷冷:AE CC2018安装图文教程攻略(附工具),windows系统64位

工具分享在底部 随着短视频时代热潮到来&#xff0c;水清冷冷觉得&#xff0c;一些懂视频剪辑和特效制作的人才也越来越吃香&#xff0c;自己做自媒体或帮企业制作视频等&#xff0c;都能有好的发展前景。当然像PR剪辑软件和AE特效制作软件还是需要一定的专业水平的&#xff0c…

星际争霸2人工智能研究环境SC2LE完全入门指南

&#xfeff;&#xfeff; 迈向通用人工智能&#xff1a;星际争霸2人工智能研究环境SC2LE完全入门指南 Kun Ni 飞行器控制专业博士 86 人赞了该文章 题图来源&#xff1a;http://www.neogaf.com/forum/showthread.php?t1401417&amp;amp;amp;amp;page1 版权说明&#xff1a…

QT学习之基础Day1(自用)

1.Qt是什么&#xff1f; Qt&#xff08;官方发音 [kju:t]&#xff0c;音同 cute&#xff09;是一个跨平台的 C 开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序&#xff0c;当然也可以开发不带界面的命令行&…

Spring学习(六):WebFlux

文章目录 WebFlux概述简介异步非阻塞 响应式编程简介Reactor实现简介三种信号特点操作符示例代码 SpringWebflux执行流程和核心API执行流程核心API SpringWebflux基于注解编程SpringWebflux基于函数式编程具体步骤示例代码 WebFlux概述 简介 WebFlux是Spring5新添加的模块以用…

Spring Web vs Spring Webflux

当你需要构建Web应用程序时&#xff0c;Spring Web 和 Spring Webflux 是Spring生态系统中的两个框架&#xff0c;但它们之间有一些关键区别。 Spring Web 是一个传统的Web框架&#xff0c;它构建在Servlet API之上。它旨在处理阻塞式I/O&#xff0c;即线程在从数据库或其他服务…

Spring Boot(5)之 WebFlux 响应式编程

1、WebFlux简介 springWebFlux 是 SpringFrameworl5.0 添加的新功能&#xff0c;WebFlux 本身是追随当下最火的 Reactive Programming 而诞生的框架&#xff0c;那么本编就来简述下这个框架到底是做什么的。 参考&#xff1a;Spring-WebFlux简介与使用 1.1、关于WebFlux 我们…

对比WebFlux和WebMVC (为什么使用WebFlux)

对比WebFlux和WebMVC (为什么使用WebFlux) 1.0 WebFlux吞吐量对比WebMVC 2.0 WebFlux延迟/CPU对比WebMVC 3.0 WebFlux内存使用对比WebMVC 4.0 WebFlux最大处理请求对比WebMVC 1

Spring(十)Webflux

Webflux 1、SpringWebflux 介绍 &#xff08;1&#xff09;是 Spring5 添加新的模块&#xff0c;用于 web 开发的&#xff0c;功能和 SpringMVC 类似的&#xff0c;Webflux 使用当前一种比较流程响应式编程出现的框架。 &#xff08;2&#xff09;使用传统 web 框架&#xff…

Spring:Webflux响应式编程

目录 简介响应式编程Reactor信号操作符 SpringWebflux 执行流程和API 注解实现SpringWebflux 说明&#xff1a;基于atguigu学习笔记。 简介 Webflux是 Spring5 添加新的模块&#xff0c;用于 web 开发的&#xff0c;功能和 SpringMVC 类似的&#xff0c;Webflux 使用当前一种比…

WebFlux入门详解

文章目录 一、 WebFlux介绍1、什么是 WebFlux2、反应式库介绍2.1 Reactive Stream2.2 Reactor2.3 Reactive Stream、Reactor 和 WebFlux 关系 二、入门WebFlux1、简单介绍2、简单的例子构造 三、WebFlux与数据库1、介绍2、r2dbc实战前期准备2.1 引入依赖与配置2.2 创建数据表2.…

springboot之webmvc和webflux浅析

webmvc和webflux作为spring framework的两个重要模块&#xff0c;代表了两个IO模型&#xff0c;阻塞式和非阻塞式。 1、webmvc webmvc是基于servlet的阻塞式模型&#xff0c;一个请求到达服务器后会单独分配一个线程去处理请求&#xff0c;如果请求包含IO操作&#xff0c;线程…

Webflux核心

什么是WebFlux? Spring WebFlux 是一套全新的 Reactive Web 栈技术&#xff0c;实现完全非阻塞&#xff0c;支持 Reactive Streams 背压等特性&#xff0c;并且运行环境不限于 Servlet 容器&#xff08;Tomcat、Jetty、Undertow&#xff09;&#xff0c;如 Netty 等。Spring W…

SpringBoot Webflux解析

1. Webflux介绍 Webflux是一种异步非阻塞的IO模型&#xff0c;当有请求过来时&#xff0c;它会将请求交由worker线程去处理&#xff0c;这样就可以极大的提升吞吐量&#xff0c;所以他比较适合用于IO密集型的场景。 webflux虽然可以给我带来吞吐量的提升&#xff0c;但是同时也…

Webflux快速入门

传统的Web框架&#xff0c;如struts2&#xff0c;springmvc等都是基于Servlet API与Servlet容器基础之上运行的&#xff0c;在Servlet3.1之后才有了异步非阻塞的支持。而WebFlux是一个典型非阻塞异步的框架&#xff0c;它的核心是基于Reactor的相关API实现的。相对于传统的web框…