JS输入用户名自动显示邮箱后缀列表的方法

yizhihongxing

下面是JS输入用户名自动显示邮箱后缀列表的方法完整攻略:

标题

准备工作

要实现输入用户名自动显示邮箱后缀列表的方法,首先需要准备以下内容:

  • HTML页面中需要一个用户名输入框,一个邮箱后缀列表框;

  • JS脚本中需要一个邮箱后缀列表数组;

  • CSS样式表设置邮箱后缀列表框的位置样式。

在HTML中创建用户名输入框和邮箱列表框:

<input type="text" id="username" placeholder="请输入用户名">
<div id="email-list"></div>

在JS中创建邮箱后缀列表数组:

var emailSuffixList = ["@qq.com", "@163.com", "@126.com", "@gmail.com", "@yahoo.com", "@outlook.com", "@hotmail.com"];

设置CSS样式表的邮箱后缀列表框:

#email-list {
    position: absolute;
    top: 50px;
    max-height: 100px;
    overflow-y: auto;
    border: 1px solid #ccc;
    background-color: #fff;
}

实现主体功能

  1. 监听用户名输入框的键盘事件;

  2. 获取用户名输入框的值;

  3. 根据输入值匹配邮箱后缀列表数组中的每一项,将匹配的项添加为一个li元素,并插入邮箱列表框中。

示例代码:

var username = document.getElementById('username');
var emailList = document.getElementById('email-list');
username.addEventListener('keyup', function() {
  emailList.innerHTML = '';  // 清空列表
  var value = this.value;
  var matchArr = emailSuffixList.filter(function(item) {
    return item.indexOf(value) !== -1;
  });
  matchArr.forEach(function(item) {
    var li = document.createElement('li');
    li.innerText = item;
    emailList.appendChild(li);
  });
});

完整代码

<html>
<head>
  <style>
    #email-list {
      position: absolute;
      top: 50px;
      max-height: 100px;
      overflow-y: auto;
      border: 1px solid #ccc;
      background-color: #fff;
    }
  </style>
</head>
<body>
  <input type="text" id="username" placeholder="请输入用户名">
  <div id="email-list"></div>
  <script>
    var emailSuffixList = ["@qq.com", "@163.com", "@126.com", "@gmail.com", "@yahoo.com", "@outlook.com", "@hotmail.com"];
    var username = document.getElementById('username');
    var emailList = document.getElementById('email-list');

    username.addEventListener('keyup', function() {
      emailList.innerHTML = '';
      var value = this.value;
      var matchArr = emailSuffixList.filter(function(item) {
        return item.indexOf(value) !== -1;
      });
      matchArr.forEach(function(item) {
        var li = document.createElement('li');
        li.innerText = item;
        emailList.appendChild(li);
      });
    });
  </script>
</body>
</html>

示例说明

示例1

当输入值为“@q”时,邮箱列表框自动显示“@qq.com”。

示例2

当输入值为“@”时,邮箱列表框自动显示所有邮箱后缀。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS输入用户名自动显示邮箱后缀列表的方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • activex 控件制作成cab包的问题

    制作 ActiveX 控件需要使用 CAB(Cabinet)文件类型。CAB 文件是 Microsoft 的一种归档文件格式,通常用于打包和部署软件、设备驱动程序和操作系统组件。在制作 ActiveX 控件之前,您需要了解以下几点: 控件必须在 Internet Explorer 中安装。 大多数浏览器都支持执行 CAB 文件并安装其中包含的内容。 CAB …

    other 2023年6月26日
    00
  • win7系统中怎样添加账户就是添加个用户名来使用

    添加用户账户是Windows 7系统中的一项常用操作,下面我将为你详细讲解如何添加账户及使用。 步骤一:进入控制面板 首先,我们需要进入系统的控制面板: 点击开始菜单,选择“控制面板”。 在控制面板窗口中,找到“用户账户和家庭安全”选项,点击进入。 步骤二:添加新账户 在“用户账户和家庭安全”页面中,点击“添加或删除用户账户”选项。 在弹出的“管理用户账户”…

    other 2023年6月27日
    00
  • java必学必会之线程(1)

    Java必学必会之线程(1) 一、线程的基本概念 1.1 线程定义 线程是进程中的执行单元,是轻量级的进程,一个进程可以有多个线程。线程拥有自己的执行栈和局部变量,但同时也可以访问共享变量。 1.2 线程状态 线程在其生命周期中可以处于以下几种状态: NEW:新创建的线程,尚未开始执行。 RUNNABLE:正在 Java 虚拟机中执行的线程。 BLOCKED…

    other 2023年6月27日
    00
  • Win10系统下去掉右键新建菜单中bmp图像选项的操作步骤

    以下是Win10系统下去掉右键新建菜单中bmp图像选项的操作步骤: 步骤一:打开注册表编辑器 为了能够操作注册表,我们需要打开注册表编辑器。具体操作步骤如下:1.按下“Win+R”组合键,打开运行窗口;2.在运行窗口中输入“regedit”,然后点击“确定”按钮。 步骤二:定位菜单项 接下来,我们需要找到“bmp”菜单项的命令位置,具体操作步骤如下:1.在注…

    other 2023年6月27日
    00
  • 关于android:panic:找不到avd系统路径。

    当我们在Android Studio中创建AVD并尝试启动模拟器时,可能会遇到“android:panic找不到avd系统路径”的错误。这个错误通常是由于AVD的系统路径设置不正确或AVD文件损坏导致的。 以下是一些可能有用的信息和建议: 什么是AVD AVD(Android Virtual Device)是Android开发中的一个重要概念,它是一个虚拟的…

    other 2023年5月9日
    00
  • 如何在 Illustrator 中混合对象?ai中混合工具怎样使用

    以下是在Adobe Illustrator中混合对象的完整攻略: 如何在 Illustrator 中混合对象 打开 Adobe Illustrator 并创建一个新文档。 在画布上创建两个或多个对象,这些对象将被混合在一起。可以是形状、路径、文字或图像等。 选择这些对象中的第一个对象。 在菜单栏中选择 \”对象(Object)\” > \”混合(Ble…

    other 2023年10月15日
    00
  • JS变量及其作用域

    JS变量及其作用域攻略 JavaScript(简称JS)是一种广泛应用于网页开发的脚本语言。在JS中,变量是存储数据的容器,而作用域则决定了变量的可见性和访问范围。本攻略将详细讲解JS变量及其作用域的概念和用法。 变量的声明和赋值 在JS中,变量的声明和赋值是分开进行的。声明变量使用var、let或const关键字,赋值使用赋值操作符=。 // 使用var声…

    other 2023年7月29日
    00
  • 浅谈Spring 的Controller 是单例or多例

    浅谈Spring的Controller是单例还是多例 在Spring框架中,Controller是用于处理用户请求的组件。关于Controller的作用域,有一些常见的误解。下面将详细讨论Spring的Controller是单例还是多例的问题,并提供两个示例来说明。 单例模式 默认情况下,Spring的Controller是以单例模式进行管理的。这意味着在整…

    other 2023年8月20日
    00
合作推广
合作推广
分享本页
返回顶部