1 <INPUT TYPE="button" VALUE="<% emt($label) %>" onclick="randomPass()">
2 <SCRIPT TYPE="text/javascript">
3 function randomPass() {
4 var pw_set = <% $pw_set |js_string %>;
5 var lower = <% $lower |js_string %>;
6 var upper = <% $upper |js_string %>;
7 var digit = <% $digit |js_string %>;
8 var punct = <% $punct |js_string %>;
10 pass.push(lower.charAt(Math.floor(Math.random() * lower.length)));
11 pass.push(upper.charAt(Math.floor(Math.random() * upper.length)));
12 pass.push(digit.charAt(Math.floor(Math.random() * digit.length)));
13 pass.push(punct.charAt(Math.floor(Math.random() * punct.length)));
17 pass.push(pw_set.charAt(Math.floor(Math.random() * pw_set.length)));
19 for(var j, x, i = pass.length; i; j = Math.floor(Math.random() * i), x = pass[--i], pass[i] = pass[j], pass[j] = x);
21 document.getElementById('<% $id %>').value = pass;
26 my $label = shift || 'Generate';
27 my $pw_set = join('', FS::Password_Mixin->pw_set);
28 my $lower = join('', $pw_set =~ /[[:lower:]]/g);
29 my $upper = join('', $pw_set =~ /[[:upper:]]/g);
30 my $digit = join('', $pw_set =~ /[[:digit:]]/g);
31 my $punct = join('', $pw_set =~ /[[:punct:]]/g);