首頁  >  文章  >  web前端  >  jquery判斷輸入密碼兩次是否相等_jquery

jquery判斷輸入密碼兩次是否相等_jquery

WBOY
WBOY原創
2016-05-16 15:28:222339瀏覽

Jquery easyui是一個非常好的ui框架,但是表單驗證中沒有最常用的判斷兩個輸出框中值相等的驗證,所以我做了下擴展。

$.extend($.fn.validatebox.defaults.rules, {  
  /*必须和某个字段相等*/ 
  equalTo: { 
    validator:function(value,param){ 
      return $(param[0]).val() == value; 
    }, 
    message:'字段不匹配' 
  } 
       
}); 

使用範例:

密码: <input id="password" name="password" validType="length[4,32]" class="easyui-validatebox" required="true" type="password" value=""/> 
<br/> 
确认密码:<input type="password" name="repassword" id="repassword" required="true" class="easyui-validatebox" validType="equalTo['#password']" invalidMessage="两次输入密码不匹配"/> 

將validType屬性指定為equalTo['#password']即可。
當然使用這個小插件,必須先引用jquery easyui的js函式庫。

使用jQuery.validate驗證表單中兩次密碼是否一致的時候遇到了一點小問題,這是我寫的程式碼:

$("#aspnetForm").validate({
        rules: {
          txtName: {
            required: true
          },
          txtTrueName: {
            required: true
          },
          txtPass: {
            required: true,
            minlength: 3
          },
          txtTwoPass: {
            required: true,
            minlength: 3,
            equalTo: "#txtPass"
          },
          txtEmail: {
            required: true,
            email: true
          },
          txtAddress: {
            required: true
          },
          txtPhone: {
            required: true
          }
        },
        messages: {
          txtName: {
            required: "*请输入用户名"
          },
          txtTrueName: {
            required: "*请输入姓名"
          },
          txtPass: {
            required: "*请输入密码",
            minlength: "*密码不能小于3个字符"
          },
          txtTwoPass: {
            required: "*请输入确认密码",
            minlength: "*密码不能小于3个字符",
            equalTo: "*请再次输入相同的值"
          },
          txtEmail: {
            required: "*请输入邮箱",
            email: "*请输入正确的邮箱格式"
          },
          txtAddress: {
            required: "*请输入地址"
          },
          txtPhone: {
            required: "*请输入手机号码"
          }
        }
      });

為什麼明明我輸入的兩次密碼是一致的還一直提示我呢?試過不同的瀏覽器和不同版本的validate都是如此。

不知道大家有沒有遇到類似的問題,我查閱了許多文章,總結了一下解決問題的思路:

  • 先去查看html頁面的兩個password型是否都賦值id了。
  • 或檢索下頁是否有兩個txtPass的id。
  • 或你先將equalTo去掉,在重新驗證下,看看是否有其他錯誤,沒有在倒回來排查這個地方。

希望這篇文章可以給大家一些啟發,謝謝大家的閱讀,小編一定會再接再厲。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn