Te dejo mi función que me parece más práctica, yo la uso en todos mis codigos ( cuando lo requiero ).
    
Código Javascript
:
Ver original- <script> 
- var caracter="1234567890"; 
- caracter+="QWERTYUIOPASDFGHJKLZXCVBNM"; 
- caracter+="qwertyuioplkjhgfdsazxcvbnm"; 
- var numero_caracteres=10; 
- var total=caracter.length; 
- function azar(){ 
- var clave=""; 
- for(a=0;a<numero_caracteres;a++){ 
- clave+=caracter.charAt(parseInt(total*Math.random(1))); 
- } 
- document.forms[0].clave.value=clave; 
- } 
- </script>