jquery驗(yàn)證郵箱格式是否正確實(shí)例講解
我們來(lái)看看都有哪些郵箱:
我們?nèi)绻粋€(gè)個(gè)的郵箱進(jìn)行判斷,顯然是不可能的了。
—個(gè)完整的Internet郵件地址由以下兩個(gè)部分組成,格式如下:登錄名@主機(jī)名.域名
中間用—個(gè)表示“在”(at)的符號(hào)“@”分開(kāi),符號(hào)的左邊是對(duì)方的登錄名,右邊是完整的主機(jī)名,它由主機(jī)名與域名 組成。其中,域名由幾部分組成,每一部分稱(chēng)為一個(gè)子域(Subdomain),各子域之間用圓點(diǎn)“.”隔開(kāi),每個(gè)子域都會(huì)告訴用戶一些有關(guān)這臺(tái)郵件服務(wù)器 的信息。
關(guān)鍵驗(yàn)證的正則表達(dá)式: var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
校驗(yàn)輸入框:
//驗(yàn)證郵箱 function vailEmail(){ var email = jQuery("#email").val(); var flag = false; var message = ""; var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if(email ==''){ message = "郵箱不能為空!"; }else if(!myreg.test(email)){ message = "請(qǐng)輸入有效的郵箱地址!"; }else if(checkEmailIsExist()){ message = "該郵箱地址已經(jīng)被注冊(cè)!"; }else{ flag = true; } if(!flag){ //錯(cuò)誤提示 //jQuery("#emailDiv").removeClass().addClass("ui-form-item has-error"); // jQuery("#emailP").html(""); //jQuery("#emailP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message); //jQuery("#email").focus(); }else{ //正確提示 //jQuery("#emailDiv").removeClass().addClass("ui-form-item has-success"); //jQuery("#emailP").html(""); //jQuery("#emailP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>該郵箱可用"); } return flag; }
寫(xiě)一個(gè)方法來(lái)驗(yàn)證一下
//驗(yàn)證郵箱是否存在 function checkEmailIsExist(){ var email = jQuery("#email").val(); var flag = false; jQuery.ajax( { url: "checkEmail?t=" + (new Date()).getTime(), data:{email:email}, dataType:"json", type:"GET", async:false, success:function(data) { var status = data.status; if(status == "1"){ flag = true; } } }); return flag; }
后臺(tái)處理程序:
@RequestMapping(value = "/checkEmail", method = RequestMethod.GET) public void checkEmail(HttpServletRequest request,HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); try { String email = request.getParameter("email"); String status = "0"; //寫(xiě)查詢語(yǔ)句,查詢表里面是否存在該郵箱 //UserBaseInfo userBaseInfo = userService.findUserByEmail(email); //if(userBaseInfo!=null)status="1"; map.put("status", status); String data = JSONObject.fromObject(map).toString(); response.getWriter().print(data); response.getWriter().flush(); response.getWriter().close(); } catch (Exception ex) { } }
以上就是jquery驗(yàn)證郵箱格式是否正確實(shí)例代碼,利用了正則表達(dá)式:var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;,大家可以動(dòng)手試一試。
相關(guān)文章
輕松使用jQuery雙向select控件Bootstrap Dual Listbox
這篇文章主要教大家如何輕松使用jQuery雙向select控件Bootstrap Dual Listbox,感興趣的小伙伴們可以參考一下2015-12-12使用JQ來(lái)編寫(xiě)最基本的淡入淡出效果附演示動(dòng)畫(huà)
使用JQ來(lái)編寫(xiě)最基本的淡入淡出效果2014-10-10讓input框?qū)崿F(xiàn)類(lèi)似百度的搜索提示(基于jquery事件監(jiān)聽(tīng))
讓input框?qū)崿F(xiàn)類(lèi)似百度的搜索提示,oninput和onpropertychange事件監(jiān)聽(tīng),通過(guò)ajax獲取json數(shù)據(jù)2014-01-01jQuery中table數(shù)據(jù)的值拷貝和拆分
在開(kāi)發(fā)的過(guò)程中,經(jīng)常會(huì)遇到彈出框顯示前一頁(yè)table列表的情況,這時(shí)候會(huì)有好多方法來(lái)來(lái)解決。下面小編給大家介紹怎么用jquery將值拷貝到第二頁(yè)并拆分拷貝的值,需要的朋友參考下2017-03-03如何用input標(biāo)簽和jquery實(shí)現(xiàn)多圖片的上傳和回顯功能
本文通過(guò)圖文并茂的形式給大家介紹了如何用input標(biāo)簽和jquery實(shí)現(xiàn)多圖片的上傳和回顯功能,需要的朋友可以參考下2018-05-05JavaScript中利用jQuery綁定事件的幾種方式小結(jié)
這篇文章主要介紹了JavaScript中利用jQuery綁定事件的幾種方式小結(jié),包括不調(diào)用jQuery的"原生js"實(shí)現(xiàn)方式,需要的朋友可以參考下2016-03-03jq stop()和:is(:animated)的用法及區(qū)別(詳解)
下面小編就為大家?guī)?lái)一篇jq stop()和:is(:animated)的用法及區(qū)別(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02jquery實(shí)現(xiàn)的樹(shù)形目錄實(shí)例
這篇文章主要介紹了jquery實(shí)現(xiàn)的樹(shù)形目錄,涉及jquery針對(duì)頁(yè)面元素及鼠標(biāo)事件的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06實(shí)例講解JQuery中this和$(this)區(qū)別
這篇文章主要介紹了實(shí)例講解JQuery中this和$(this)的區(qū)別,this表示當(dāng)前的上下文對(duì)象是一個(gè)html對(duì)象,可以調(diào)用html對(duì)象所擁有的屬性和方法,$(this),代表的上下文對(duì)象是一個(gè)jquery的上下文對(duì)象,可以調(diào)用jquery的方法和屬性值,需要的朋友可以參考下2014-12-12jquer之a(chǎn)jaxQueue簡(jiǎn)單實(shí)現(xiàn)代碼
手頭不是很忙,突然想到了ajax queue這個(gè)概念,之前貌似有看技術(shù)文章中提到過(guò)這個(gè),就想著用jquery來(lái)實(shí)現(xiàn)一下,思想比較簡(jiǎn)單2011-09-09