length >= 6 does not work but length >= 5 or lower does?!?

length >= 6 does not work but length >= 5 or lower does?!?

I am trying to do a check on two password fields.

As you can see below, I am doing an if satement on keyup to verify the fields are the same, and if so append a green checkmark.

Problem I am running into is on the if statement line #6 below, where I  have :

  1. $j(pw1).val().length >= 6 &&
When set to 6, and I put a six digit password into the confirm password input box, and shift tab back to the initial password input box, the image disappears. Upon tabbing out of password back into confirm password the green check mark will re-appear.

Interestingly, this does not occur when the value is set to 5 or lower.

Thoughts?
  1.         pw1 = $('input#edit-registration-account-pass-pass1');
  2.         pw2 = $('input#edit-registration-account-pass-pass2');
  3.         checkMark = '<img src="'green_check.gif" class="pw_verified" alt="checkmark"/>';
  4.        
  5.         $j(pw2).keyup(function(){
  6.             if($j(pw1).val() == $j(pw2).val() && $j(pw1).val().length >= 6 && $j('img.pw_verified').length == 0){
  7.                 $j('#edit-registration-account-pass-wrapper').append(checkMark);
  8.             }else{
  9.                 $j('.pw_verified').remove();
  10.             }       
  11.         })