首页 > 其他分享 >如何实现一个类似 Apple 网站的短信验证码登录组件 All In One

如何实现一个类似 Apple 网站的短信验证码登录组件 All In One

时间:2023-03-10 23:11:56浏览次数:43  
标签:Apple 验证码 xgqfrms 组件 com 输入

如何实现一个类似 Apple 网站的短信验证码登录组件 All In One

  1. 支持短信,复制粘贴自动填充
  2. 支持自动聚焦,自动校验
  3. 输入完成,支持自动发起确认请求(无需手动点击确认按钮)

优点:交互简洁,使用方便,UI 优雅,用户体验好 ✅

image

Apple ID

双重认证

image

https://appleid.apple.com/#!&page=signin

请输入验证码。
在输入字段中输入代码后,焦点自动移动到下一个输入字段上。
输入验证码后,页面会自动更新

<div class="sec-code-wrapper">
                    <security-code length="{codeLength}" type="tel" sr-context="请输入验证码。在输入字段中输入代码后,焦点会自动移动到下一个输入字段上。输入验证码后,页面会自动更新。" localised-digit="位" error-message="" split="true"><div class="security-code">
  <idms-error-wrapper {disable-all-errors}="hasErrorLabel" {^error-type}="errorType" popover-auto-close="false" {^idms-error-wrapper-classes}="idmsErrorWrapperClasses" {has-errors-and-focus}="hasErrorsAndFocus" {show-error}="hasErrorsAndFocus" {error-message}="errorMessage" {parent-container}="parentContainer" {(enable-showing-errors)}="enableShowingErrors" error-input-id="idms-input-error-1678460482091-0" anchor-element="#security-code-wrap-1678460482091-0">
  <div class="" id="idms-error-wrapper-1678460482090-0">
    
  <div id="security-code-wrap-1678460482091-0" class="security-code-wrap security-code-6 split" localiseddigit="位">
      <div class="security-code-container force-ltr">
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char0" class="form-control force-ltr form-textbox-input char-field" aria-label="请输入验证码。在输入字段中输入代码后,焦点会自动移动到下一个输入字段上。输入验证码后,页面会自动更新。 位 1" placeholder="" data-index="0">
          </div>
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char1" class="form-control force-ltr form-textbox-input char-field" aria-label="位 2" placeholder="" data-index="1">
          </div>
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char2" class="form-control force-ltr form-textbox-input char-field" aria-label="位 3" placeholder="" data-index="2">
          </div>
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char3" class="form-control force-ltr form-textbox-input char-field" aria-label="位 4" placeholder="" data-index="3">
          </div>
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char4" class="form-control force-ltr form-textbox-input char-field" aria-label="位 5" placeholder="" data-index="4">
          </div>
          <div class="field-wrap force-ltr form-textbox ">
              <input maxlength="1" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" type="tel" id="char5" class="form-control force-ltr form-textbox-input char-field" aria-label="位 6" placeholder="" data-index="5">
          </div>
      </div>
  </div>
  
  </div>
</idms-error-wrapper>
</div>
</security-code>
</div>

实现原理分析

  1. 自定义组件
// React

demos

PayPal

image

https://www.paypal.com/authflow/challenges/sms/

(

标签:Apple,验证码,xgqfrms,组件,com,输入
From: https://www.cnblogs.com/xgqfrms/p/17204943.html

相关文章

  • react antd rangPicker组件选择当月、本月时间
    可以通过设置reactantdesign的RangePicker的disableDate的属性来实现只选择当月、本月时间的效果,实现代码如下1、设置RangePicker<RangePickerdis......
  • Element UI:能在一个html中使用它提供的组件吗?
    一、寻找组件找到需要使用的组件,比如一个表单  二、创建html文件导入element样式库、脚本库和它依赖的vue2库。<!DOCTYPEhtml><html><head>......
  • 视频直播源码,前端canvas动态验证码实现
    视频直播源码,前端canvas动态验证码实现  //生成一个随机数  constrandomNum=(min:number,max:number)=>{    returnMath.floor(Math.random()*......
  • React数字滚动组件 numbers-scroll
    数字滚动组件,也可以叫数字轮播组件,这个名字一听就是非常普通常见的组件,第一反应就是想找找网上大佬的东西顶礼膜拜一下,这一搜,还真是没找到趁手的╮(╯▽╰)╭。最近接了大......
  • vue3.2+ts 子组件的props接收的是个对象的话
    备忘录而已:<scriptsetuplang="ts">//import{PropType}from"vue"exportinterfaceDataInfo{id:number;name:string}typeProps={isObject?:DataInfo}//c......
  • Angular 独立组件入门
    Angular独立组件入门如果你正在学习​​Angular​​,那么你可能已经听说过独立组件(Component)。顾名思义,独立组件就是可以独立使用和管理的组件,它们能够被包含在其他组件中......
  • Flex布局与基础组件
    一.Flex布局与基础组件Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。1.先规定弹性布局的大小,设置为百......
  • ant-design-vue 视频上传组件封装处理
    /**视频上传组件*/<template><div><a-uploadlistType="picture-card":accept="acceptType":action="uploadVideo":fileList="fil......
  • 开发Vue组件并发布到npm仓库
    因业务需求,部分功能组件需要在多个项目中使用,为了避免直接复制代码,所以开发组件之后发布到npm仓库步骤:1:考虑以后也可能需要开发组件,所以我这边新建一个vue项目2:开发组......
  • AppUploader教程:如何使用该工具制作Apple证书​
    AppUploader教程:如何使用该工具制作Apple证书​AppUploader下载安装操作​AppUploader是一款方便快捷的开发者工具,提供了多项实用的功能。本文将介绍AppUploader的下载和安......