最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java網(wǎng)上圖書商城(1)User模塊

 更新時(shí)間:2016年12月05日 09:05:54   作者:ganchuanpu  
這篇文章主要介紹了java網(wǎng)上圖書商城,User模塊,實(shí)現(xiàn)用戶注冊(cè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java網(wǎng)上圖書商城user模塊代碼,供大家參考,具體內(nèi)容如下

效果圖:

regist.js

$(function() {
 /*
 * 1. 得到所有的錯(cuò)誤信息,循環(huán)遍歷之。調(diào)用一個(gè)方法來確定是否顯示錯(cuò)誤信息!
 */
 $(".errorClass").each(function() {
 showError($(this));//遍歷每個(gè)元素,使用每個(gè)元素來調(diào)用showError方法
 });
 
 /*
 * 2. 切換注冊(cè)按鈕的圖片
 */
 $("#submitBtn").hover(
 function() {
  $("#submitBtn").attr("src", "/goods/images/regist2.jpg");
 },
 function() {
  $("#submitBtn").attr("src", "/goods/images/regist1.jpg");
 }
 );
 
 /*
 * 3. 輸入框得到焦點(diǎn)隱藏錯(cuò)誤信息
 */
 $(".inputClass").focus(function() {
 var labelId = $(this).attr("id") + "Error";//通過輸入框找到對(duì)應(yīng)的label的id
 $("#" + labelId).text("");//把label的內(nèi)容清空!
 showError($("#" + labelId));//隱藏沒有信息的label
 });
 
 /*
 * 4. 輸入框失去焦點(diǎn)進(jìn)行校驗(yàn)
 */
 $(".inputClass").blur(function() {
 var id = $(this).attr("id");//獲取當(dāng)前輸入框的id
 var funName = "validate" + id.substring(0,1).toUpperCase() + id.substring(1) + "()";//得到對(duì)應(yīng)的校驗(yàn)函數(shù)名
 eval(funName);//執(zhí)行函數(shù)調(diào)用
 });
 
 /*
 * 5. 表單提交時(shí)進(jìn)行校驗(yàn)
 */
 $("#registForm").submit(function() {
 var bool = true;//表示校驗(yàn)通過
 if(!validateLoginname()) {
  bool = false;
 }
 if(!validateLoginpass()) {
  bool = false;
 }
 if(!validateReloginpass()) {
  bool = false;
 }
 if(!validateEmail()) {
  bool = false;
 }
 if(!validateVerifyCode()) {
  bool = false;
 }
 
 return bool;
 });
});

/*
 * 登錄名校驗(yàn)方法
 */
function validateLoginname() {
 var id = "loginname";
 var value = $("#" + id).val();//獲取輸入框內(nèi)容
 /*
 * 1. 非空校驗(yàn)
 */
 if(!value) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("用戶名不能為空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 長(zhǎng)度校驗(yàn)
 */
 if(value.length < 3 || value.length > 20) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("用戶名長(zhǎng)度必須在3 ~ 20之間!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否注冊(cè)校驗(yàn)
 */
 $.ajax({
 url:"/goods/UserServlet",//要請(qǐng)求的servlet
 data:{method:"ajaxValidateLoginname", loginname:value},//給服務(wù)器的參數(shù)
 type:"POST",
 dataType:"json",
 async:false,//是否異步請(qǐng)求,如果是異步,那么不會(huì)等服務(wù)器返回,我們這個(gè)函數(shù)就向下運(yùn)行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校驗(yàn)失敗
  $("#" + id + "Error").text("用戶名已被注冊(cè)!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true;
}

/*
 * 登錄密碼校驗(yàn)方法
 */
function validateLoginpass() {
 var id = "loginpass";
 var value = $("#" + id).val();//獲取輸入框內(nèi)容
 /*
 * 1. 非空校驗(yàn)
 */
 if(!value) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("密碼不能為空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 長(zhǎng)度校驗(yàn)
 */
 if(value.length < 3 || value.length > 20) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("密碼長(zhǎng)度必須在3 ~ 20之間!");
 showError($("#" + id + "Error"));
 false;
 }
 return true; 
}

/*
 * 確認(rèn)密碼校驗(yàn)方法
 */
function validateReloginpass() {
 var id = "reloginpass";
 var value = $("#" + id).val();//獲取輸入框內(nèi)容
 /*
 * 1. 非空校驗(yàn)
 */
 if(!value) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("確認(rèn)密碼不能為空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 兩次輸入是否一致校驗(yàn)
 */
 if(value != $("#loginpass").val()) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("兩次輸入不一致!");
 showError($("#" + id + "Error"));
 false;
 }
 return true; 
}

/*
 * Email校驗(yàn)方法
 */
function validateEmail() {
 var id = "email";
 var value = $("#" + id).val();//獲取輸入框內(nèi)容
 /*
 * 1. 非空校驗(yàn)
 */
 if(!value) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("Email不能為空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. Email格式校驗(yàn)
 */
 if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("錯(cuò)誤的Email格式!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否注冊(cè)校驗(yàn)
 */
 $.ajax({
 url:"/goods/UserServlet",//要請(qǐng)求的servlet
 data:{method:"ajaxValidateEmail", email:value},//給服務(wù)器的參數(shù)
 type:"POST",
 dataType:"json",
 async:false,//是否異步請(qǐng)求,如果是異步,那么不會(huì)等服務(wù)器返回,我們這個(gè)函數(shù)就向下運(yùn)行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校驗(yàn)失敗
  $("#" + id + "Error").text("Email已被注冊(cè)!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true; 
}

/*
 * 驗(yàn)證碼校驗(yàn)方法
 */
function validateVerifyCode() {
 var id = "verifyCode";
 var value = $("#" + id).val();//獲取輸入框內(nèi)容
 /*
 * 1. 非空校驗(yàn)
 */
 if(!value) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("驗(yàn)證碼不能為空!");
 showError($("#" + id + "Error"));
 return false;
 }
 /*
 * 2. 長(zhǎng)度校驗(yàn)
 */
 if(value.length != 4) {
 /*
  * 獲取對(duì)應(yīng)的label
  * 添加錯(cuò)誤信息
  * 顯示label
  */
 $("#" + id + "Error").text("錯(cuò)誤的驗(yàn)證碼!");
 showError($("#" + id + "Error"));
 false;
 }
 /*
 * 3. 是否正確
 */
 $.ajax({
 url:"/goods/UserServlet",//要請(qǐng)求的servlet
 data:{method:"ajaxValidateVerifyCode", verifyCode:value},//給服務(wù)器的參數(shù)
 type:"POST",
 dataType:"json",
 async:false,//是否異步請(qǐng)求,如果是異步,那么不會(huì)等服務(wù)器返回,我們這個(gè)函數(shù)就向下運(yùn)行了。
 cache:false,
 success:function(result) {
  if(!result) {//如果校驗(yàn)失敗
  $("#" + id + "Error").text("驗(yàn)證碼錯(cuò)誤!");
  showError($("#" + id + "Error"));
  return false;
  }
 }
 });
 return true; 
}

/*
 * 判斷當(dāng)前元素是否存在內(nèi)容,如果存在顯示,不頁(yè)面不顯示!
 */
function showError(ele) {
 var text = ele.text();//獲取元素的內(nèi)容
 if(!text) {//如果沒有內(nèi)容
 ele.css("display", "none");//隱藏元素
 } else {//如果有內(nèi)容
 ele.css("display", "");//顯示元素
 }
}

/*
 * 換一張驗(yàn)證碼
 */
function _hyz() {
 /*
 * 1. 獲取<img>元素
 * 2. 重新設(shè)置它的src
 * 3. 使用毫秒來添加參數(shù)
 */
 $("#imgVerifyCode").attr("src", "/goods/VerifyCodeServlet?a=" + new Date().getTime());
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java超詳細(xì)講解多線程中的Process與Thread

    Java超詳細(xì)講解多線程中的Process與Thread

    進(jìn)程process:在一定的環(huán)境下,把靜態(tài)的程序代碼運(yùn)行起來,通過使用不同的資源,來完成一定的任務(wù);線程thread:是程序中一個(gè)單一的順序控制流程。在單個(gè)進(jìn)程中同時(shí)運(yùn)行多個(gè)線程完成不同的工作,稱為多線程
    2022-05-05
  • java實(shí)現(xiàn)token無感刷新+處理并發(fā)的后端方案

    java實(shí)現(xiàn)token無感刷新+處理并發(fā)的后端方案

    在Web應(yīng)用中,Token用于身份驗(yàn)證和會(huì)話管理,但當(dāng)Token過期時(shí),可能會(huì)導(dǎo)致用戶在提交表單或進(jìn)行操作時(shí)突然被重定向到登錄頁(yè)面,本文就來介紹一下java實(shí)現(xiàn)token無感刷新+處理并發(fā)的后端方案,感興趣的可以了解一下
    2024-11-11
  • Java中的讀寫鎖ReentrantReadWriteLock源碼分析

    Java中的讀寫鎖ReentrantReadWriteLock源碼分析

    這篇文章主要介紹了Java中的讀寫鎖ReentrantReadWriteLock源碼分析,ReentrantReadWriteLock 分為讀鎖和寫鎖兩個(gè)實(shí)例,讀鎖是共享鎖,可被多個(gè)線程同時(shí)使用,寫鎖是獨(dú)占鎖,持有寫鎖的線程可以繼續(xù)獲取讀鎖,反之不行,需要的朋友可以參考下
    2023-12-12
  • java與JSON數(shù)據(jù)的轉(zhuǎn)換實(shí)例詳解

    java與JSON數(shù)據(jù)的轉(zhuǎn)換實(shí)例詳解

    這篇文章主要介紹了java與JSON數(shù)據(jù)的轉(zhuǎn)換實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java給PDF加水印并合并多個(gè)文件

    Java給PDF加水印并合并多個(gè)文件

    大家好,本篇文章主要講的是Java給PDF加水印并合并多個(gè)文件,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • 基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像

    基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像

    本文主要介紹了Java圖像處理實(shí)戰(zhàn)之基于OpenCV與JVM實(shí)現(xiàn)矩陣處理圖像。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)圖像處理有一定的幫助,感興趣的可以試一試
    2022-01-01
  • 詳解SpringMVC學(xué)習(xí)系列之國(guó)際化

    詳解SpringMVC學(xué)習(xí)系列之國(guó)際化

    這篇文章主要介紹了詳解SpringMVC學(xué)習(xí)系列之國(guó)際化,詳細(xì)的介紹了關(guān)于瀏覽器,Session,Cookie,URL請(qǐng)求的國(guó)際化的實(shí)現(xiàn),有興趣的可以了解一下
    2017-07-07
  • Spring?Boot?中正確地在異步線程中使用?HttpServletRequest的方法

    Spring?Boot?中正確地在異步線程中使用?HttpServletRequest的方法

    文章討論了在Spring?Boot中如何在異步線程中正確使用HttpServletRequest的問題,介紹了Tomcat的請(qǐng)求對(duì)象復(fù)用機(jī)制及其對(duì)異步線程的影響,并解釋了AsyncContext的作用與局限性,感興趣的朋友一起看看吧
    2025-03-03
  • java 面試題閏年判斷詳解及實(shí)例

    java 面試題閏年判斷詳解及實(shí)例

    這篇文章主要介紹了java面試題 閏年判斷的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • java實(shí)現(xiàn)多客戶聊天功能

    java實(shí)現(xiàn)多客戶聊天功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多客戶聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論

忻城县| 土默特左旗| 武夷山市| 策勒县| 古丈县| 溧水县| 县级市| 北宁市| 鱼台县| 湘潭县| 乌拉特中旗| 秭归县| 湖北省| 肇州县| 安吉县| 宁海县| 拜泉县| 台安县| 阳东县| 寿宁县| 仁化县| 于田县| 阜宁县| 牟定县| 淅川县| 昌江| 玉林市| 唐山市| 英超| 边坝县| 麻阳| 鱼台县| 许昌市| 东兰县| 民县| 类乌齐县| 南京市| 德兴市| 孟津县| 正蓝旗| 谢通门县|