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

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

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

本文實例為大家分享了java網上圖書商城user模塊代碼,供大家參考,具體內容如下

效果圖:

regist.js

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

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

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

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

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

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java超詳細講解多線程中的Process與Thread

    Java超詳細講解多線程中的Process與Thread

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

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

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

    Java中的讀寫鎖ReentrantReadWriteLock源碼分析

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

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

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

    Java給PDF加水印并合并多個文件

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

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

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

    詳解SpringMVC學習系列之國際化

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

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

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

    java 面試題閏年判斷詳解及實例

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

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

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

最新評論

资溪县| 临邑县| 图片| 镇江市| 闽侯县| 芜湖市| 昆山市| 富阳市| 富裕县| 藁城市| 巴青县| 宣恩县| 延津县| 罗平县| 日土县| 赤城县| 海原县| 庆阳市| 烟台市| 加查县| 中宁县| 休宁县| 施甸县| 翁源县| 邯郸市| 开封县| 弥勒县| 新田县| 白水县| 阿坝| 通州区| 瑞昌市| 腾冲县| 临汾市| 大冶市| 镇远县| 繁峙县| 乐平市| 高青县| 竹山县| 固始县|