javascript - 平滑 jQuery 密码确认验证

标签 javascript jquery html validation client-side

我对 jQuery 相当陌生,并编写了以下代码来显示用户输入的密码/确认是否有效。我觉得代码是重复和肮脏的,而且只有当用户不删除他们输入的部分内容时它才能正常工作。然后事情就变得有点古怪了。

这是 js fiddle :http://jsfiddle.net/JCTAc/

这是 JS *(忽略复选框内容):

$(function() {
  $('.checkbox').hide();
  $("#password").blur(function(){

var passwordVal = $("#password").val();
var checkVal = $("#password_confirmation").val();

  if ( passwordVal.length >=6 ) {
       $("#password").css("border","1px solid #9EAD3A"); 
      }
  else {
       $("#password").css("border","1px solid #E93E3C");
      $('.checkbox').hide();
  }
});

$("#password_confirmation").keyup(function() {

var passwordVal = $("#password").val();
var checkVal = $("#password_confirmation").val();

    if (passwordVal == checkVal) {
        if (checkVal.length > 5 ) {
        $("#password_confirmation").css("border","1px solid #9EAD3A");
        $(".checkbox").show(100);
    }
}
    else {
        $("#password_confirmation").css("border","1px solid #E93E3C");
        $('.checkbox').hide();
    }
});


$("#password,#password_confirmation").blur(function(){

var passwordVal = $("#password").val();
var checkVal = $("#password_confirmation").val();



    if (passwordVal != checkVal) {
        $('.checkbox').hide();
        $("#password_confirmation").css("border","1px solid #E93E3C");

    }
  });
});

最佳答案

首先,您不应该像 jQuery/javascript 中那样设置边框颜色。尽可能将样式和浏览器行为分开非常重要。更好的方法是设置一个类(例如 .error、.validated)并从 css 控制样式。而且你在代码中经常重复自己。相同的功能被写了3次。这是将该功能分解为函数的真正标志。

还有一个提示,如果输入未验证,则禁用提交功能,如果输入验证通过,则允许提交功能。

我稍微修改了一下。验证模糊和键盘操作。我确信这段代码还可以进一步优化,但也许会略有改进:http://jsfiddle.net/JCTAc/5/

关于javascript - 平滑 jQuery 密码确认验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12695515/

相关文章:

javascript - 为什么 JavaScript 中 '1' == true 返回 true,而 '2' == true 返回 false

javascript - 从单个字符串中分离两个日期

javascript - jQuery:无限循环在 2 个 img src 之间交替

javascript - 在 Javascript onclick 中删除行

javascript - 使用 DOJO 在 Javascript 中格式化字符串

javascript - 遍历类中的所有 div 并从特定元素获取文本

javascript - Tablesorter 不会在初始页面加载时进行排序

jquery - 下拉菜单(带有图像和 UL LI 列表)

html - overflow-x 螺丝 div 的背景颜色

javascript - 当 div 处于事件状态时更改按钮背景图像