jQuery實作Email信箱位址自動補全功能代碼
這篇文章主要介紹了jQuery實現Email郵箱地址自動補全功能代碼,涉及jQuery滑鼠事件及字符操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下,具體如下:
jQuery Email信箱位址自動補全代碼,輸入Email時,會自動加入@符號,在輸入框中輸入「qq」、「Sina」、「163」等等可以看到效果;滑鼠經過提示Email時,高亮該條Email,滑鼠點選Email時,文字方塊內容替換成該條Email,並刪除提示圖層.
運作效果截圖如下:
線上展示網址如下:
http://demo.jb51.net/js/2015/jquery-email-auto-comp-codes/
具體程式碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>输入Email相关字符自动提示Email地址</title> <script src="jquery-1.6.2.min.js" type="text/javascript"></script> <style type="text/css"> body { margin:0px; padding:0px; font-family:Arial; font-size:12px; padding:10px; } #myemail, .newemail, .newemailtitle{ cursor:default; line-height:18px; } </style> </head> <body> Email <input id="me" type="text" value="" style="width:150px; height:18px; line-height:18px; border:1px solid #999;"> <script type="text/javascript"> var nowid; var totalid; var can1press = false; var emailafter; var emailbefor; $(document).ready(function(){ $("#me").focus(function(){ //文本框获得焦点,插入Email提示层 $("#myemail").remove(); $(this).after("<p id='myemail' style='width:170px; height:auto; background:#fff; color:#6B6B6B; position:absolute; left:"+$(this).get(0).offsetLeft+"px; top:"+($(this).get(0).offsetTop+$(this).height()+2)+"px; border:1px solid #ccc;z-index:5px; '></p>"); if($("#myemail").html()){ $("#myemail").css("display","block"); $(".newemail").css("width",$("#myemail").width()); can1press = true; } else { $("#myemail").css("display","none"); can1press = false; } }).keyup(function(){ //文本框输入文字时,显示Email提示层和常用Email var press = $("#me").val(); if (press!="" || press!=null){ var emailtxt = ""; var emailvar = new Array("@163.com","@126.com","@yahoo.com","@qq.com","@sina.com","@gmail.com","@hotmail.com","@foxmail.com"); totalid = emailvar.length; var emailmy = "<p class='newemail' style='width:170px; color:#6B6B6B; overflow:hidden;'><font color='#D33022'>" + press + "</font></p>"; if(!(isEmail(press))){ for(var i=0; i<emailvar.length; i++) { emailtxt = emailtxt + "<p class='newemail' style='width:170px; color:#6B6B6B; overflow:hidden;'><font color='#D33022'>" + press + "</font>" + emailvar[i] + "</p>" } } else { emailbefor = press.split("@")[0]; emailafter = "@" + press.split("@")[1]; for(var i=0; i<emailvar.length; i++) { var theemail = emailvar[i]; if(theemail.indexOf(emailafter) == 0) { emailtxt = emailtxt + "<p class='newemail' style='width:170px; color:#6B6B6B; overflow:hidden;'><font color='#D33022'>" + emailbefor + "</font>" + emailvar[i] + "</p>" } } } $("#myemail").html(emailmy+emailtxt); if($("#myemail").html()){ $("#myemail").css("display","block"); $(".newemail").css("width",$("#myemail").width()); can1press = true; } else { $("#myemail").css("display","none"); can1press = false; } beforepress = press; } if (press=="" || press==null){ $("#myemail").html(""); $("#myemail").css("display","none"); } }) $(document).click(function(){ //文本框失焦时删除层 if(can1press){ $("#myemail").remove(); can1press = false; if($("#me").focus()){ can1press = false; } } }) $(".newemail").live("mouseover",function(){ //鼠标经过提示Email时,高亮该条Email $(".newemail").css("background","#FFF"); $(this).css("background","#CACACA"); $(this).focus(); nowid = $(this).index(); }).live("click",function(){ //鼠标点击Email时,文本框内容替换成该条Email,并删除提示层 var newhtml = $(this).html(); newhtml = newhtml.replace(/<.*?>/g,""); $("#me").val(newhtml); $("#myemail").remove(); }) $(document).bind("keydown",function(e) { if(can1press){ switch(e.which) { case 38: if (nowid > 0){ $(".newemail").css("background","#FFF"); $(".newemail").eq(nowid).prev().css("background","#CACACA").focus(); nowid = nowid-1; } if(!nowid){ nowid = 0; $(".newemail").css("background","#FFF"); $(".newemail").eq(nowid).css("background","#CACACA"); $(".newemail").eq(nowid).focus(); } break; case 40: if (nowid < totalid){ $(".newemail").css("background","#FFF"); $(".newemail").eq(nowid).next().css("background","#CACACA").focus(); nowid = nowid+1; } if(!nowid){ nowid = 0; $(".newemail").css("background","#FFF"); $(".newemail").eq(nowid).css("background","#CACACA"); $(".newemail").eq(nowid).focus(); } break; case 13: var newhtml = $(".newemail").eq(nowid).html(); newhtml = newhtml.replace(/<.*?>/g,""); $("#me").val(newhtml); $("#myemail").remove(); } } }) }) //检查email邮箱 function isEmail(str){ if(str.indexOf("@") > 0) { return true; } else { return false; } } </script> 在输入框中输入“qq”、“Sina”、“163”等等可以看到效果 </body> </html>
以上就是本章的全部內容,更多相關教學請造訪jQuery影片教學!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

jQuery引用方法詳解:快速上手指南jQuery是一個受歡迎的JavaScript庫,被廣泛用於網站開發中,它簡化了JavaScript編程,並為開發者提供了豐富的功能和特性。本文將詳細介紹jQuery的引用方法,並提供具體的程式碼範例,幫助讀者快速上手。引入jQuery首先,我們需要在HTML檔案中引入jQuery函式庫。可以透過CDN連結的方式引入,也可以下載

1.電子郵件地址的格式是【使用者名稱@網域名稱】,其中使用者名稱是收件者的帳號,網域名稱是收件者的電子郵件伺服器的名稱。 2.例子【123456@qq.com】就是一個電子郵件地址,其中【123456】是用戶名,【qq.com】是網域。 3.再舉個例子【888888@163.com】,其中【888888】是用戶名,【163.com】是網域。

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

jQuery如何移除元素的height屬性?在前端開發中,經常會遇到需要操作元素的高度屬性的需求。有時候,我們可能需要動態改變元素的高度,而有時候又需要移除元素的高度屬性。本文將介紹如何使用jQuery來移除元素的高度屬性,並提供具體的程式碼範例。在使用jQuery操作高度屬性之前,我們首先需要了解CSS中的height屬性。 height屬性用於設定元素的高度

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:<

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

如何判斷jQuery元素是否具有特定屬性?在使用jQuery操作DOM元素時,常會遇到需要判斷元素是否具有某個特定屬性的情況。在這種情況下,我們可以藉助jQuery提供的方法來輕鬆實現這項功能。以下將介紹兩種常用的方法來判斷一個jQuery元素是否具有特定屬性,並附上具體的程式碼範例。方法一:使用attr()方法和typeof運算子//判斷元素是否具有特定屬

jQuery是一種流行的JavaScript庫,被廣泛用於處理網頁中的DOM操作和事件處理。在jQuery中,eq()方法是用來選擇指定索引位置的元素的方法,具體使用方法和應用場景如下。在jQuery中,eq()方法選擇指定索引位置的元素。索引位置從0開始計數,即第一個元素的索引是0,第二個元素的索引是1,依此類推。 eq()方法的語法如下:$("s
