天天看點

php 驗證ajax表單資料類型,Ajax使用者注冊驗證 驗證合格才能送出表單

method=post>

使用者名:

name="username">

*

email: *
密碼:

οnkeyup="checkIntensity(this.value)" type="password" name="password">

id=password_notice >*

密碼強度:
确認密碼:

type="password" name="confirm_password">

*

手機:
我已看過并接受《使用者協定》*

from_ck.js

JavaScript Code

//XMLHttpRequest

var xmlhttp = false;

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e2) {

xmlhttp = false;

}

}

if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

xmlhttp = new XMLHttpRequest();

}

function Ajax(data){

xmlhttp.open("GET","user_ck.php?username="+document.getElementById("username").value,true);

xmlhttp.send(null);

document.getElementById('username_notice').innerHTML = process_request;//顯示狀态

xmlhttp.onreadystatechange=function(){

if (4==xmlhttp.readyState){

if (200==xmlhttp.status){

var responseText = xmlhttp.responseText;

if (responseText=="true" ){

ck_user("true");

}

else{

ck_user("false");

}

}else{

alert("發生錯誤!");

}

}

}

}

function chkUserName(obj){

if (checks(obj.value)== false)

{

obj.className = "FrameDivWarn";

showInfo("username_notice",msg_un_format);

change_submit("true");

}

else if(obj.value.length<1){

obj.className = "FrameDivWarn";

showInfo("username_notice",msg_un_blank);

change_submit("true");

}

else if(obj.value.length<3){

obj.className = "FrameDivWarn";

showInfo("username_notice",username_shorter);

change_submit("true");

}

else{

//調用Ajax函數,向伺服器端發送查詢

Ajax(obj.value);

}

}

//--------------使用者名檢測---------------------//

function ck_user(result)

{

if ( result == "true" )

{

document.getElementById('username').className = "FrameDivWarn";

showInfo("username_notice",msg_un_registered);

change_submit("true");//禁用送出按鈕

}

else

{

document.getElementById('username').className = "FrameDivPass";

showInfo("username_notice",msg_can_rg);

change_submit("false");//可用送出按鈕

}

}

function checks(t){

szMsg="[#%&'",;:=!^@]";

//alertStr="";

for(i=1;i

if(t.indexOf(szMsg.substring(i-1,i))>-1){

//alertStr="請勿包含非法字元如[#_%&'",;:=!^]";

return false;

}

}

return true;

}

//-----------EMAIL檢測--------------------------------//

function checkEmail(email)

{

if (chekemail(email.value)==false)

{

email.className = "FrameDivWarn";

showInfo("email_notice",msg_email_format);

change_submit("true");

}

else

{

showInfo("email_notice",info_right);

email.className = "FrameDivPass";

change_submit("false");

}

}

function chekemail(temail) {

var pattern = /^[w]{1}[w.-_]*@[w]{1}[w-_.]*.[w]{2,4}$/i;

if(pattern.test(temail)) {

return true;

}

else {

return false;

}

}

//--------------------密碼檢測-----------------------------//

function check_password( password )

{

if ( password.value.length < 6 )

{

showInfo("password_notice",password_shorter_s);

password.className = "FrameDivWarn";

change_submit("true");//禁用送出按鈕

}

else if(password.value.length > 30){

showInfo("password_notice",password_shorter_m);

password.className = "FrameDivWarn";

change_submit("true");//禁用送出按鈕

}

else

{

showInfo("password_notice",info_right);

password.className = "FrameDivPass";

change_submit("false");//允許送出按鈕

}

}

function check_conform_password( conform_password )

{

password = document.getElementById('password').value;

if ( conform_password.value.length < 6 )

{

showInfo("conform_password_notice",password_shorter_s);

conform_password.className = "FrameDivWarn";

change_submit("true");//禁用送出按

return false;

}

if ( conform_password.value!= password)

{

showInfo("conform_password_notice",confirm_password_invalid);

conform_password.className = "FrameDivWarn";

change_submit("true");//禁用送出按

}

else

{

conform_password.className = "FrameDivPass";

showInfo("conform_password_notice",info_right);

change_submit("false");//允許送出按鈕

}

}

//

function checkIntensity(pwd)

{

var Mcolor = "#FFF",Lcolor = "#FFF",Hcolor = "#FFF";

var m=0;

var Modes = 0;

for (i=0; i

{

var charType = 0;

var t = pwd.charCodeAt(i);

if (t>=48 && t <=57)

{

charType = 1;

}

else if (t>=65 && t <=90)

{

charType = 2;

}

else if (t>=97 && t <=122)

charType = 4;

else

charType = 4;

Modes |= charType;

}

for (i=0;i<4;i++)

{

if (Modes & 1) m++;

Modes>>>=1;

}

if (pwd.length<=4)

{

m = 1;

}

switch(m)

{

case 1 :

Lcolor = "2px solid red";

Mcolor = Hcolor = "2px solid #DADADA";

break;

case 2 :

Mcolor = "2px solid #f90";

Lcolor = Hcolor = "2px solid #DADADA";

break;

case 3 :

Hcolor = "2px solid #3c0";

Lcolor = Mcolor = "2px solid #DADADA";

break;

case 4 :

Hcolor = "2px solid #3c0";

Lcolor = Mcolor = "2px solid #DADADA";

break;

default :

Hcolor = Mcolor = Lcolor = "";

break;

}

document.getElementById("pwd_lower").style.borderBottom = Lcolor;

document.getElementById("pwd_middle").style.borderBottom = Mcolor;

document.getElementById("pwd_high").style.borderBottom = Hcolor;

}

//--------------注冊協定複選框狀态檢測---------------------//

function check_agreement(){

if (document.formUser.agreement.checked==false)

{

showInfo("agreement_notice",agreement);

change_submit("true");//允許送出

}

else

{

showInfo("agreement_notice",info_right);

change_submit("false");//允許送出按

}

}

//-------------處理注冊程式-----------------------------//

function register() {

if(document.formUser.username.value=="")

{

showclass("username","FrameDivWarn");

showInfo("username_notice",msg_un_blank);

document.formUser.username.focus();

return false;

}

else if(document.formUser.email.value=="")

{

showclass("email","FrameDivWarn");

showInfo("email_notice",msg_email_blank);

document.formUser.email.focus();

return false;

}

else if(document.formUser.password.value=="")

{

showclass("password","FrameDivWarn");

showInfo("password_notice",password_empty);

document.formUser.password.focus();

return false;

}

else if(document.formUser.confirm_password.value=="")

{

showclass("confirm_password","FrameDivWarn");

showInfo("conform_password_notice",confirm_password_invalid);

document.formUser.password.focus();

return false;

}

else if(document.formUser.agreement.checked==false)

{

//showclass("agreement","FrameDivWarn");

showInfo("agreement_notice",agreement);

document.formUser.agreement.focus();

return false;

}

}

//------------ 按鈕狀态設定-----------------------------//

function change_submit(zt)

{

if (zt == "true")

{

document.forms['formUser'].elements['Submit1'].disabled = 'disabled';

}

else

{

document.forms['formUser'].elements['Submit1'].disabled = '';

}

}

//------公用程式------------------------------------//

function showInfo(target,Infos){

document.getElementById(target).innerHTML = Infos;

}

function showclass(target,Infos){

document.getElementById(target).className = Infos;

}

var process_request = "

php 驗證ajax表單資料類型,Ajax使用者注冊驗證 驗證合格才能送出表單

正在資料進行中...";

var username_empty = " × 使用者名不能為空!";

var username_shorter = " × 使用者名長度不能少于 3 個字元。";

var username_invalid = "- 使用者名隻能是由字母數字以及下劃線組成。";

var password_empty = " × 登入密碼不能為空。";

var password_shorter_s = " × 登入密碼不能少于 6 個字元。";

var password_shorter_m = " × 登入密碼不能多于 30 個字元。";

var confirm_password_invalid = " × 兩次輸入密碼不一緻!";

var email_empty = " × Email 為空";

var email_invalid = "- Email 不是合法的位址";

var agreement = " × 您沒有接受協定";

var mobile_phone_invalid = "- 手機号碼不是一個有效号碼";

var msg_un_blank = " × 使用者名不能為空!";

var msg_un_length = " × 使用者名最長不得超過15個字元";

var msg_un_format = " × 使用者名含有非法字元!";

var msg_un_registered = " × 使用者名已經存在,請重新輸入!";

var msg_can_rg = " √ 可以注冊!";

var msg_email_blank = " × 郵件位址不能為空!";

var msg_email_registered = " × 郵箱已存在,請重新輸入!";

var msg_email_format = " × 郵件位址不合法!";

var username_exist = "使用者名 %s 已經存在";

var info_can=" √ 可以注冊!";

var info_right=" √ 填寫正确!";