Angular获取手机验证码实现移动端登录注册功能
发布时间 - 2026-01-11 01:08:18 点击率:次之前一直在用jQuery来做项目,使用比较熟练,目前公司要求使用angular来做项目,遇到一个登录模块如下所示,功能有两个方面,一个是点击按钮获取验证码,一个是点击登录验证表单。从用户体验角度来考虑有两个要注意的地方,默认两个按钮应该都是不可点击的,输入正确的手机号时验证码的按钮可点击,当再输入验证码时登录按钮可点击。

代码结构如下:
<form name="loginForm" ng-controller="loginCtrl" ng-submit="submitForm(loginForm.$valid)" novalidate>
<div class="inputItem">
<input type="number" name="phoneNum" placeholder="手机号" ng-model="userPhone" ng-pattern="/^1[3|4|5|7|8]\d{9}$/" required/>
</div>
<div class="inputItem">
<input type="number" name="phoneCode" placeholder="短信验证码" ng-model="userPhoneCode" ng-focus="errorHint=ture" required/>
<div class="button01 null" ng-if="loginForm.phoneNum.$invalid">{{paracont}}</div>
<div ng-class="paraclass" ng-click="loginCode()" ng-if="loginForm.phoneNum.$valid">{{paracont}}</div>
<div class="errorHint fontred" ng-if="errorHint">验证码不正确</div>
</div>
<button type="submit" class="button02" ng-disabled="loginForm.$invalid">登 录</button>
</form>
之前写的一版没有对获取验证码按钮进行验证,后来修改了一下,验证码的按钮要在手机号输入正确时显示可点击,但是angular没有onInput这个方法,为了方便,写了两个按钮来实现这个效果。
样式如下:
.inputItem{
width:6.4rem;
height:0.9rem;
margin:0 auto;
border:1px solid #ccc;
background:#fff;
}
.inputItem:first-child{
border-bottom:none;
}
.inputItem input{
padding:0.1rem 0;
margin:0.2rem;
width:3.7rem;
}
.button01{
width:2rem;
height:0.7rem;
border:1px solid #ccc;
text-align: center;
line-height:0.7rem;
font-size:0.26rem;
float:right;
margin:0.1rem 0.2rem 0 0;
box-sizing:border-box;
}
.button01.null{
color:#999;
}
.fontred{
color:#red;
}
.button02{
display:block;
width:6.4rem;
height:0.9rem;
text-align: center;
line-height:0.9rem;
border:1px solid #ccc;
margin:0.8rem auto 0;
background:#fff;
}
.errotHint{
line-height:0.6rem;
font-size:0.24rem;
padding-left:0.2rem;
}
接下来就是比较重要的AngularJS代码了:
angular.module('loginModule',[]).controller('loginCtrl',['$scope','$interval',function($scope,$interval){
//获取验证码
$scope.paracont = '获取验证码';
$scope.paraclass = 'button01';
$scope.errorHint = false;
$scope.paraevent = true;
$scope.loginCode = function(){
if($scope.paraevent){
var second = 59;
$scope.paracont = second + '秒后重发';
$scope.paraclass = 'null button01';
var timer = $interval(function(){
if(second <=0){
$interval.cancel(timer);
$scope.paracont = '重发验证码';
second = 59;
$scope.paraclass = 'button01';
$scope.paraevent = true;
}else{
second--;
$scope.paracont = second + '秒后重发';
$scope.paraevent = false;
}
},1000);
}
}
//提交
$scope.submitForm = function(isValid){
if(isValid){
alert("success!");
}
}
}])
最终写出来的效果就是下面这个样子了。
以上所述是小编给大家介绍的Angular获取手机验证码实现移动端登录注册功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# angularjs
# 获取验证码
# 验证码
# Ionic+AngularJS实现登录和注册带验证功能
# ionic+AngularJs实现获取验证码倒计时按钮
# 使用jQuery
# Angular实现登录界面验证码详解
# AngularJS 验证码60秒倒计时功能的实现
# Ionic + Angular.js实现验证码倒计时功能的方法
# 重发
# 来做
# 小编
# 都是
# 有两个
# 在此
# 要在
# 要注意
# 给大家
# 写了
# 所示
# 表单
# 来实现
# 不正确
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Android使用GridView实现日历的简单功能
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
浅谈redis在项目中的应用
Laravel如何实现本地化和多语言支持?(i18n教程)
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
高性价比服务器租赁——企业级配置与24小时运维服务
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel如何实现用户注册和登录?(Auth脚手架指南)
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
微信小程序 scroll-view组件实现列表页实例代码
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何快速完成中国万网建站详细流程?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Laravel如何配置任务调度?(Cron Job示例)
Laravel如何实现API速率限制?(Rate Limiting教程)
详解阿里云nginx服务器多站点的配置
零基础网站服务器架设实战:轻量应用与域名解析配置指南
高端智能建站公司优选:品牌定制与SEO优化一站式服务
开心动漫网站制作软件下载,十分开心动画为何停播?
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
jQuery validate插件功能与用法详解
如何在阿里云购买域名并搭建网站?
如何在万网自助建站中设置域名及备案?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
进行网站优化必须要坚持的四大原则
如何用VPS主机快速搭建个人网站?
jQuery 常见小例汇总
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
黑客如何通过漏洞一步步攻陷网站服务器?
如何撰写建站申请书?关键要点有哪些?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
微信小程序 HTTPS报错整理常见问题及解决方案
教你用AI将一段旋律扩展成一首完整的曲子
javascript基于原型链的继承及call和apply函数用法分析

