jQuery实现Email邮箱地址自动补全功能代码

首先,在jQuery中实现email地址自动补全功能,我们需要编写以下几个步骤:

  1. 确认需要用的jQuery插件:这里我们使用的是"jquery-ui"这个jquery插件,它内置了一个Autocomplete组件,能够非常方便地实现email地址自动补全功能。

  2. 引入"jquery-ui"插件:在head标签内的标签内引入jquery与jquery-ui的cdn或其它方式的链接。

    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  1. 设置input框
    <input type="email" id="email" name="email" placeholder="请输入你的邮箱地址">
  1. 编写jquery代码,完成email地址自动补全
    $('#email').autocomplete({
        source: function(request, response) {
            var hosts = ['qq.com', '163.com', 'gmail.com', 'hotmail.com'],//邮箱后缀名的枚举变量
                re = $.ui.autocomplete.escapeRegex(request.term),//输入框中的值
                matcher = new RegExp('^' + re, 'i'),//
                a = $.grep(hosts, function(item, index) {
                    return matcher.test(item);
                });
                response(a);
        }
    });

解释:

① source:设置一个回调方法,该方法返回一个建议列表。

② hosts:一个包含正常邮件系统的可能托管邮件服务器域子集的列表。

③ 搜索输入框内的值,并匹配@后面的字符串,并返回一个由匹配子集组成的数组。

至此,我们就完成了email地址自动补全功能的jquery代码。

以下是一个完整的示例,通过输入邮箱账号的前缀自动提示可能的邮箱后缀:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Email地址自动补全</title>
    <link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div class="ui-widget">
      输入邮箱地址: <input id="email" type="text" />
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

    <script>
      $(document).ready(function() {
          $('#email').autocomplete({
              source: function(request, response) {
                  var hosts = ['qq.com', '163.com', 'gmail.com', 'hotmail.com'],
                      re = $.ui.autocomplete.escapeRegex(request.term),
                      matcher = new RegExp('^' + re, 'i'),
                      a = $.grep(hosts, function(item, index) {
                          return matcher.test(item);
                      });
                      response(a);
              }
          });    
      });
    </script>
  </body>
</html>

另外一个示例:

为了让用户得到更好的体验,还可以增加鼠标悬浮的垂直列表选项的样式。在我们的示例代码中,可以添加下面这个样式:

.ui-menu-item {
    border-bottom: 1px dotted black;
    padding: 3px;
    cursor: pointer;
    background-color: white;
}
.ui-menu-item:hover {
    background-color: #EEE;
}

注意:为了样式不会失效,需要在jQuery UI的CSS文件后引入该样式表。

<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<link href="custom.css" rel="stylesheet" type="text/css" />

完整代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Email地址自动补全</title>
    <link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
    <link href="custom.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div class="ui-widget">
      输入邮箱地址: <input id="email" type="text" />
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

    <script>
      $(document).ready(function() {
          $('#email').autocomplete({
              source: function(request, response) {
                  var hosts = ['qq.com', '163.com', 'gmail.com', 'hotmail.com'],
                      re = $.ui.autocomplete.escapeRegex(request.term),
                      matcher = new RegExp('^' + re, 'i'),
                      a = $.grep(hosts, function(item, index) {
                          return matcher.test(item);
                      });
                      response(a);
              }
          });    
      });
    </script>
  </body>
</html>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现Email邮箱地址自动补全功能代码 - Python技术站

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

相关文章

  • javascript自定义滚动条实现代码

    下面是关于JavaScript自定义滚动条的实现攻略及示例说明。 一、背景介绍 在网页中,经常需要应用到滚动条,用以浏览超出当前可见区域的部分。但是浏览器的原生滚动条显示样式较为简单,不够美观;而且在不同浏览器上样式差异较大,不够统一。因此,很多网页都会采用自定义滚动条的方式,使其样式更加漂亮,且在不同浏览器上显示效果相似。 二、实现方法 下面介绍一种利用J…

    css 2023年6月10日
    00
  • Javascript 圆角div的实现代码

    一、实现圆角div的方式 实现圆角div有很多不同的方式,其中比较常用的方式有两种:使用 CSS3 border-radius 属性和使用 JavaScript 绘制。 使用 CSS3 border-radius 属性实现圆角div CSS3 的 border-radius 属性用于设置元素的圆角半径。通过设置不同的数值,可以实现各种形状的圆角,包括左上角、…

    css 2023年6月10日
    00
  • CSS Div网页布局中的结构与表现

    CSS Div 网页布局是目前网页布局中最常用的一种方式。它采用 CSS 样式表来实现网页的结构和表现的分离,使得开发者能够更好地掌控页面的格式和排版,让页面更加美观,易于阅读和使用。 CSS Div 网页布局中的结构与表现可以分为以下几个步骤: 1.用 HTML 创建页面结构。 首先,在 HTML 中创建基本的页面结构,包括 header、main、foo…

    css 2023年6月10日
    00
  • Dreamweaver CS3网页制作之布局实例

    下面我将详细讲解“Dreamweaver CS3网页制作之布局实例”的完整攻略。 一、前言 在Dreamweaver CS3中,常用的布局方式有表格布局、浮动布局和定位布局。本文通过示例介绍如何使用这三种方式进行网页布局。 二、表格布局 1. 实现方式 表格布局就是使用HTML中的表格标签table、tr和td来布局。具体步骤如下: 使用table标签创建表…

    css 2023年6月10日
    00
  • Jquery图片滚动与幻灯片的实例代码

    下面我将详细讲解“Jquery图片滚动与幻灯片的实例代码”的完整攻略。 1. 效果介绍 首先,我们来了解一下实现的效果。本文将介绍两种效果。 1.1 图片滚动效果 图片滚动效果是指图片自动向左(或向右)滚动,当鼠标悬停在图片上时,滚动停止,离开后继续滚动。 1.2 幻灯片效果 幻灯片效果是指图片轮番展示,每张图片停留一段时间后自动切换到下一张。 2. 示例代…

    css 2023年6月10日
    00
  • css制作tips提示框,气泡框,制作三角形的实现

    下面是关于”CSS制作Tips提示框,气泡框,制作三角形的实现”的完整攻略: 1. 制作气泡框 制作气泡框可使用伪类:before或:after,这些伪类可以在元素之前或之后插入一个内容生成器,因此可以用它来模拟气泡框的尖角,并添加其他的样式。 示例代码如下: <div class="bubble">这是一个气泡框</d…

    css 2023年6月10日
    00
  • CSS中:before和:after伪元素使用的奇技淫巧

    下面是CSS中:before和:after伪元素使用的奇技淫巧的完整攻略。 什么是:before和:after伪元素 在CSS中,有两个伪元素:before和:after。它们可以在一个元素之前或之后插入一些内容,而这些内容是由CSS来定义的。这些伪元素可以被用来实现很多有趣的效果,如图标、装饰性的线条、制作更好的复选框/单选框等等。 如何使用:before…

    css 2023年6月9日
    00
  • JS实现九宫格拼图游戏

    如何实现JS九宫格拼图游戏? 前置知识: HTML、CSS、JS基础 DOM操作 事件监听 游戏规则: 将原图分成N * N(N >= 3)个拼图块 每个拼图块可以通过与空白块交换位置来移动 目标是将所有的拼图块移动到正确的位置,还原原图形 实现步骤: 3.1 HTML基本结构 通过HTML代码搭建游戏基本框架 将原图划分成若干个小块,并将它们放置到九…

    css 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部