这两天在弄一个项目,登录页面打算用手机验证码登录。

需要使用到 jQuery和 ajax

用于验证手机号码输入框

分别判断以下情况并作出弹窗警告

1:是否为空

2:是否为11位数字

3:是否是13,15,17, 18开头的正确手机号码

输入框下面添加一个获取验证码的按钮,默认为关闭不可点击,

点击后出现倒计时

并调用后台servlet生成一个验证码

在验证上面3种情况之后,得到为正确手机号码后

再将验证码按钮设置为可点击

前端完整代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE html>
<html>
<head>
<title>MOBAN</title>
<link href="<%=path %>/css/user_login_style.css" rel='stylesheet' type='text/css' /><script type="text/javascript" src="<%=path%>/js/jquery-1.7.2.min.js" ></script><script type="text/javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }var countdown=60;  function settime(val) {if (countdown == 0) {  val.removeAttribute("disabled");  val.value="获取验证码";  countdown = 60;  return false;  } else {  val.setAttribute("disabled", true);  val.value="重新发送(" + countdown + ")";  countdown--; }setTimeout(function() {  settime(val);    },1000);  }function  code(){$.ajax({type: "POST", //用POST方式传输dataType: "text", //数据格式:JSONurl: '<%=path%>/servlet/RandomCodeServlet', //目标地址 error: function (XMLHttpRequest, textStatus, errorThrown) { },success: function (msg){ }});}function input(mobile) {var btn=1;document.getElementById("code_btn").disabled=true;if (mobile.length == 0) {alert('请输入手机号码!');btn = 0;document.form1.mobile.focus(); return false; } if (mobile.length != 11) {alert('请输入长度11位手机号码!');btn = 0;document.form1.mobile.focus();return false;} var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;if (!myreg.test(mobile)) {alert('请输入有效的手机号码!');btn = 0;document.form1.mobile.focus();return false;} if(btn==1){document.getElementById("code_btn").disabled=false;}}
</script></head>
<body><h1>App Location Form</h1><div class="app-location"><h2>欢迎使用饿了吧</h2> <form><input type="text" class="text" name="phone" id="phone_num"  onblur="input(this.value)"  value="请输入手机号码" onFocus="this.value = '';"  ><input type="text" value="请输入验证码" onFocus="this.value = '';" onBlur="if (this.value == '') {this.value = '请输入验证码';}"><input type="button" id="code_btn" disabled="true"  onclick="code(),settime(this);" value="获取验证码" ><div class="submit"> <input type="submit" value="登录" > </div><div class="clear"></div> </form></div></body>
</html>

JS关于登录页面使用手机验证码登录相关推荐

  1. 如何使用阿里云短信服务实现登录页面,手机验证码登录?

    1:个人如何使用阿里云短信服务? 2022如何使用个人阿里云短信服务?_linxiMY的博客-CSDN博客添加完成之后,等待审核!一般2个小时就会出来审核结果了,这里我因为注册申请时填写规则有误,足足 ...

  2. 验证码登录开发----手机验证码登录

    手机验证码登录 需求分析 为了方便用户登录,移动端通常都会提供通过手机验证码登录的功能 手机验证码登录的优点: 方便快捷.无需注册,直接登录 使用短信验证码作为登录凭证,无需记忆密码 安全 登录流程: ...

  3. 【瑞吉外卖项目】DAY5——第六章 手机验证码登录

    本章内容介绍手机验证码登录 点击获取验证码 收到短信,并输入验证码 点击登录,登录成功 短信发送_短信服务介绍和阿里云短信服务介绍 短信服务介绍 目前市面上有很多第三方提供的短信服务,这些第三方短信服 ...

  4. 【从零开始分析项目实战】12-阿里云手机验证码登录功能的实现

    注:本文章基于黑马程序员相关视频及资料进行编写,代码简单,较容易理解,若有问题或者源码资料获取可以在评论区留言或者联系作者! 文章目录 开篇 一.短信发送 (1)短信服务介绍 (2)阿里云短信服务 ( ...

  5. Spring Cloud OAuth2 扩展登录方式:帐户密码登录、 手机验证码登录、 二维码扫码登录

    本文扩展了spring security 的登录方式,增长手机验证码登录.二维码登录. 主要实现方式为使用自定义filter. AuthenticationProvider. AbstractAuth ...

  6. 阿里云短信平台实现手机验证码登录

    阿里云短信平台实现手机验证码登录 首先创建一个工具类 工具类AliyunMessageUtil代码如下所示: public class AliyunMessageUtil {private stati ...

  7. Java实现手机验证码登录和SpringSecurity权限控制

    手机验证码登录和SpringSecurity权限控制 手机快速登录功能,就是通过短信验证码的方式进行登录.这种方式相对于用户名密码登录方式,用户不需要记忆自己的密码,只需要通过输入手机号并获取验证码就 ...

  8. 瑞吉外卖(6)—手机验证码登录

    目录 一.手机验证码登录 1.1 短信发送 1.2 短信验证码登陆 1.2.1 需求分析 1.2.2 数据模型 1.2.3 代码开发 发送验证码(给的资料有点残缺,这里修改了) 使用验证码登陆(使用m ...

  9. 学习【瑞吉外卖⑥】SpringBoot单体项目_手机验证码登录业务开发

    视频:[黑马程序员]Java 项目实战<瑞吉外卖>,轻松掌握 SpringBoot + MybatisPlus 开发核心技术 资料:2022 最新版 Java学习 路线图>第 5 阶 ...

最新文章

  1. 10大排序算法JAVA源码实现
  2. 如何在数字前面填充0,在股票代码前面补上0的三种方法
  3. 10个关于人工智能和机器学习的有趣开源项目
  4. 噪声与振动控制工程手册_仨亿技术丨工程机械噪声与控制分析
  5. spring定时器,定时器一次执行两次的问题
  6. 雪城大学信息安全讲义 六、输入校验
  7. jspSmartUpload 组件的使用方法
  8. c语言程序设计 ncre,全国计算机二级C语言程序设计题((100%全中必过).doc
  9. Quartz配置信息
  10. 5V升压8.4V芯片电路图,5V充电7.4V电池
  11. Linux内核移植 part3:Exynos4412 Linux Kernel移植
  12. 进程管理工具-Supervisord +CeSi
  13. 从事热爱的工作和积极乐观
  14. jquery短信验证码倒计时
  15. 新接口——“淘特”关键词搜索的API接口
  16. 实时音视频开发理论必备:如何省流量?视频高度压缩背后的预测技术
  17. 同比、环比、YTD、MTD
  18. nubia Z5 mini 小牛 黑砖qhsusb dload修复
  19. 5个网站让你成为主宰网络世界的神秘黑客
  20. 计算机网络应用基础教学计划,高一计算机网络应用基础教学计划

热门文章

  1. 数据总量 40 亿+,报表分析数据 10 亿+,TiDB 在中通的落地与进化
  2. 英语作文万能句子整理1-20220320
  3. GRE作文备考技巧怎样避免低效率重复劳动?
  4. 移动互联网时代,接我拼车如何通过逆思维卡位?
  5. Xmind 2023中文专业版下载,全新架构升级!
  6. Filezilla搭建FTP服务器及Linux连接
  7. nodejs有对表格进行美化的库吗
  8. “造趣文化节,无Party不夏天”主题活动开启潮流文化新体验
  9. 配置 4G 模块为WAN口上网
  10. Android直播实践