时间:2021-05-28
之前一直在用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获取手机验证码实现移动端登录注册功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
无论是移动端还是pc端登录或者注册界面都会见到手机验证码登录这个功能,输入手机号,得到验证码,最后先服务器发送请求,保存登录的信息,一个必不可少的功能思路1,先
收钱吧二维码申请的方法是: 1、打开收钱吧客户端,“注册”输入手机号码。 2、输入手机号码,然后获取验证码,输入验证码及登录密码。 3、邀请码可以在线申请
效果如下:代码如下:template代码:手机注册获取验证码{{auth_time}}秒之后重新发送验证码注册已经有账号,马上去登录script代码如下expo
手机验证码平台有阿里短信验证码平台、飞码验证码接收平台、一片云验证码平台等等。 验证码平台是指网站或者客户端应用需要接入短信验证码(手机验证码)的功能,可以实
Java实现随机验证码功能简单实例现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用。验证码实际上就是随