IT技术博客大学习 共学习 共进步

遍历一个对象并执行其中的方法

废墟 2011-09-19 23:40:13 浏览 2,743 次
在写一个js验证的时候发现可以少写很多东西。

js的验证代码例子如下:
var _check = {
  username:function() {
    var obj = $("form[id='signup'] input[name='username']");
    var str = $.trim(obj.val());
    if(str == '') {
      show_err(obj, "帐号不能为空");
      return false;
    } else {
      if(str.length < 3 || str.length > 14) {
        show_err(obj, "帐号长度为3-14个字符");
        return false;
      } else {
        $.post("/ajax/checkusername", {username:str}, function(rs){
          if(rs == 1) {
            show_err(obj, "帐号已存在,请换一个");
            return false;
          }
        }, 'text')
      }
    }
    return true;
  },
  password:function() {
    var obj = $("form[id='signup'] input[name='password']");
    var str = obj.val();
    if(str == '') {
      show_err(obj, "密码不能为空");
      return false;
    } else {
      if(str.length < 6 || str.length > 14) {
        show_err(obj, "密码长度为6-14个字符");
        return false;
      }
    }
    return true;
  },
  passconf:function() {
    var obj = $("form[id='signup'] input[name='passconf']");
    var str = obj.val();
    if(str == '') {
      show_err(obj, "密码确认不能为空");
      return false;
    } else {
      if(str != $("form[id='signup'] input[name='password']").val()) {
        show_err(obj, "两次密码不一至");
        return false;
      }
    }
    return true;
  }
}


想要简单的执行这个只需要
for(i in _check) {
  if(typeof(_check[i]) == 'function') {
    _check[i]();
  }
}

建议继续学习

  1. python编程细节──遍历dict的两种方法比较 (阅读 20,202)
  2. 循环、迭代、遍历和递归 (阅读 5,423)
  3. bash遍历目录 (阅读 3,523)
  4. 深入理解PHP之数组(遍历顺序) (阅读 2,843)
  5. shell 遍历mc (阅读 2,344)