codice:
var str         = "0A$a"

var re          = [];
re['lowercase'] = /[a-z]/;
re['uppercase'] = /[A-Z]/;
re['digits']    = /[0-9]/;
re['alphanum']  = /\W/;
re['len']      = /^.{8,}$/;

if ((re['lowercase']).test(str)
    && (re['uppercase']).test(str)
    && (re['digits']).test(str)
    && (re['alphanum']).test(str)
    && (re['len']).test(str)) {
    
    alert('ok');
}
questo però controlla tutte le condizioni