利用jQuery實現表單驗證功能

Jack2k發表於2021-09-09

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
font-family: 微軟雅黑;
}
form span{
color: #f00;
font-weight: bold;
display: none;
}
</style>
<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="jquery-1.8.3.js"></script>
</head>
<body>
<form>
<p>使用者名稱:</p>
<p>
<input type="text" name="userName" class="auth">
<span>使用者名稱不能為空</span>
</p>
<p>密碼:</p>
<p>
<input type="text" name="pwd" class="auth">
<span>長度必須為6位</span>
</p>
<p>確認密碼:</p>
<p>
<input type="text" name="rePwd" class="auth">
<span>兩次密碼必須為一致</span>
</p>
<p>
<button>提交</button>
</p>
</form>
</body>
<script type="text/javascript">

// 使用者名稱驗證
$('input[name=userName]').blur(function(){
val=$(this).val();   // 獲取使用者名稱
if(val.length==0){
//a=0;
$(this).data({'num':0});   // 繫結屬性
$(this).next().show();  // 顯示提示訊息
}else{
//a=1;
$(this).data({'num':1});
$(this).next().hide();  // 隱藏掉提示資訊
}
});
// 密碼驗證
$('input[name=pwd]').blur(function(){

val=this.value;   // 獲取密碼if(val.length<6){    //b=0;    $(this).data({'num':0});   // 繫結屬性    $(this).next().show();    // 顯示提示資訊}else{    //b=1;    $(this).data({'num':1});   // 繫結屬性    $(this).next().hide();   // 隱藏掉提示資訊}

});

// 確認密碼驗證
$('input[name=rePwd]').blur(function(){
pwd=$('input[name=pwd]').val();    // 獲取密碼
repwd=$(this).val();    // 獲取確認密碼
if(pwd!=repwd){
//c=0;
$(this).data({'num':0});   // 繫結屬性
$(this).next().show();   // 顯示提示訊息
}else{
//c=1;
$(this).data({'num':1});   // 繫結屬性
$(this).next().hide();   // 隱藏掉提示資訊
}
});

// 表單提交
$('form').submit(function(){
// 讓3個文字框失去焦點
$('input.auth').blur();  // 失去焦點的方法
// r=a+b+c;
// if(r==3){
//  return true;  // 提交表單
// }else{
//  return false;   // 阻止表單提交
// }
//
// 第二種方式
r=0;
$('input.auth').each(function(){        
r+=$(this).data('num');   // 收集資料      
});
if(r==3)
return true;   // 提交表單
else
return false;  // 不提交表單
});
</script>
</html>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/36/viewspace-2818244/,如需轉載,請註明出處,否則將追究法律責任。

相關文章