// ajax檢測使用者名稱是否已經註冊了 function createXMLHttpRequest () {//建立XMLHttpRequest對象 if (window.ActiveXObject) {//IE try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { return; } } else if (window.XMLHttpRequest) {//Mozilla,firefox try { return new XMLHttpRequest(); } catch (e) { return; } } } function checkUser (username) {//主調函數 var xmlHttp = createXMLHttpRequest(); if (username == "") { getId("html_username").innerHTML = "<b>您輸入失敗,請重新輸入</b>"; return false ; } else if (!isUserName(username)) { getId("html_username").innerHTML = "<b>請用4-20位英文字母、數字、減號或底線的組合,不區分大小寫</b>"; return false ; } if (xmlHttp) { username = username.toLowerCase(); var url = "/user/check_reg.php?act=check_username&username=" + escape(username); callback = getReadyStateHandler(xmlHttp,username); xmlHttp.onreadystatechange = callback; xmlHttp.open("GET", url, true); xmlHttp.send(null); } } function getReadyStateHandler(xmlHttp) {//伺服器返回後處理函數 return function () { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { if (xmlHttp.responseText == "1") { getId("html_username").innerHTML = "<b>√恭喜您,使用者名稱可用</b>"; } else if (xmlHttp.responseText == "0") { getId("html_username").innerHTML = "<b>使用者名稱已被註冊,請重新輸入</b>"; } else { getId("html_username").innerHTML = "<b>您輸入失敗,請重新輸入</b>"; } } } } } //檢測密碼 function checkPassword(str) { var str_html = getId("html_password"); if (str.length <= 5 || str.length >= 21) { str_html.innerHTML = "<b>請使用6-20位英文字母、數字、減號或底線的組合,區分大小寫</b>"; return false; } else if (!isPassword(str)) { str_html.innerHTML = "<b>請使用6-20位英文字母、數字、減號或底線的組合,區分大小寫</b>"; return false; } else { str_html.innerHTML = "<b>√</b>"; } } function checkNextPassword(str) { var str_html = getId("html_nextpassword"); var password = getId("u_password").value; var html_password = getId("html_password"); if (password.length <= 5 || password.length >= 21) { html_password.innerHTML = "<b>請使用6-20位英文字母、數字、減號或底線的組合,區分大小寫</b>"; return false; } else if (!isPassword(password)) { html_password.innerHTML = "<b>請使用6-20位英文字母、數字、減號或底線的組合,區分大小寫</b>"; return false; } else if (str.length <= 5|| str.length >= 21) { str_html.innerHTML = "<b>請再輸入一遍上面輸入的密碼</b>"; return false; } else if (password != str) { str_html.innerHTML = "<b>兩次輸入的密碼不一樣,請新輸入</b>"; return false; } else{ str_html.innerHTML = "<b>√</b>"; } } //檢測郵箱 function checkUserEmail(str) {//主函數 var xmlHttp = createXMLHttpRequest(); var str_html = getId("html_email"); if (str.length <= 0) { str_html.innerHTML = "<b>請輸入電子郵箱</b>"; return false; } else if (!isEmail(str)) { str_html.innerHTML = "<b>電子郵箱格式不正正確</b>"; return false; } if (xmlHttp) { var email = str.toLowerCase(); var url = "/user/check_reg.php?act=check_email&email=" + escape(email); callback = getReadyStateHandlerEmail(xmlHttp, email); xmlHttp.onreadystatechange = callback; xmlHttp.open("GET", url, true); xmlHttp.send(null); } } function getReadyStateHandlerEmail(xmlHttp) {//伺服器返回後處理函數 return function () { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { if (xmlHttp.responseText == "1") { getId("html_email").innerHTML = "<b>√恭喜您,郵箱可用</b>"; } else if (xmlHttp.responseText == "0") { getId("html_email").innerHTML = "<b>郵箱已經被註冊,一個郵箱只能註冊一個使用者</b>"; } else { getId("html_email").innerHTML = "<b>請輸入電子郵箱</b>"; } } } } } //判斷是否是正確的郵箱 function isEmail(imail) { var emailPattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; if (emailPattern.test(imail) == false) { return false; } else { return true; } } //判斷是否是正確的使用者名稱,使用4-20個字母,數字,底線,杠(-)的組合 function isUserName(str) { var strPattern = /^[\w-]{4,20}$/; if (strPattern.test(str) == false) { return false; } else { return true; } } //判斷是否是正確的密碼,使用6-20個字母,數字,底線,杠(-)的組合 function isPassword(str) { var strPattern = /^[\w-]{6,20}$/; if (strPattern.test(str) == false) { return false; } else { return true; } } // 檢測驗證碼 function checkCode(str) { var str_html = getId("html_code"); var str_len = strLen(str); if (str_len <= 3 || str_len >= 13) { str_html.innerHTML = "<b>您輸入的字元數不對</b>"; return false; } else { str_html.innerHTML = "輸入下面圖片中的字元"; } } //檢測真實姓名 function checkTruename(str) { var truename = getId(str); var html_truename = getId("html_" + str); if (strLen(truename.value) <= 2) { html_truename.innerHTML = "<b>請輸入您的稱呼</b>"; return false; } else { html_truename.innerHTML = "<b>√</b>"; } } //檢測手機 function checkMobile(str) { var mobile = getId(str); var html_mobile = getId("html_" + str); if (mobile.value.length > 0) { if (!/^[0-9]{11,30}$/.exec(mobile.value)){ html_mobile.innerHTML = "<b>靖輸入正確的手機號碼,格式為:18908476638</b>"; return false; } else { html_mobile.innerHTML="<b>√</b>"; } } else { html_mobile.innerHTML = "手機和有線電話必填一項,格式為:18908476638"; } } //檢測電話號碼 function checkTel(str) { var tel = getId(str); var html_tel = getId("html_" + str); var mobile = getId('mobile'); if (tel.value.length > 0) { if (!/^[+]{0,1}[0-9]{0,4}[-]{0,1}[0-9]{3,6}[-]{0,1}[0-9]{7,9}$/.exec(tel.value)){ html_tel.innerHTML = "<b>電話號碼格式不正常,請重新輸入</b>"; return false; } else { html_tel.innerHTML = "<b>√</b>"; } } else if (mobile.value == '' && tel.value == '') { html_tel.innerHTML = "<b>手機和有線電話必填一項,格式為:0731-84168716</b>"; } else { html_tel.innerHTML = "手機和有線電話必填一項,格式為:0731-84168716"; } } // 檢測QQ function checkQQ(str) { var qq = getId(str); var html_qq = getId("html_" + str); if (qq.value.length > 0) { if (!/^[0-9]{4,15}$/.exec(qq.value)) { html_qq.innerHTML = "<b>QQ號碼不對哦!</b>"; return false; } else { html_qq.innerHTML = "<b>√</b>"; } } else { html_qq.innerHTML = "便於客戶直接在網上聯絡您"; } } |