function genPass(n) // e.g. pass(10) return 'unQ0S2j9FY'
{
let c='abcdefghijklmnopqrstuvwxyz'; c+=c.toUpperCase()+1234567890;
return [...Array(n)].map(b=>c[~~(Math.random()*62)]).join('')
}
Where n
is number of output password characters; 62
is c.length
and where e.g. ~~4.5 = 4
is trick for replace Math.floor
function genPass(n) // e.g. pass(10) return 'unQ0S2j9FY'
{
let c='abcdefghijklmnopqrstuvwxyz'; c+=c.toUpperCase()+1234567890;
return '-'.repeat(n).replace(/./g,b=>c[~~(Math.random()*62)])
}
to extend characters list, add them to c
e.g. to add 10 characters !$^&*-=+_?
write c+=c.toUpperCase()+1234567890+'!$^&*-=+_?'
and change Math.random()*62
to Math.random()*72
(add 10 to 62).