// 비밀번호 규칙 체크
function checkPasswordRule(pwd)
{
    var passRule = 0;
    var ruleEng1   = /[a-z]/;
    var ruleEng2   = /[A-Z]/;
    var ruleNum   = /[0-9]/;
    var ruleSpecial   = /[@$!%*#?&]/;
    var ruleChr2   = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/;

    if(ruleEng1.test(pwd)) passRule++;
    if(ruleEng2.test(pwd)) passRule++;
    if(ruleNum.test(pwd)) passRule++;
    if(ruleSpecial.test(pwd)) passRule++;

    if(passRule >= 1 && pwd.length >= 10) return true;
    else if(passRule >= 2 && pwd.length >= 8) return true;
    else return false;
}

// argv를 this에 merge
function argv_merge(_this, argv)
{
    if(argv) {
        for(var key in argv) {
            if(key == 'options' || key == 'callback') {
                if(argv[key]) for(var name in argv[key]) _this[key][name] = argv[key][name];
            }
            else {
                _this[key] = argv[key];
            }
        }
    }

    return _this;
};
