1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0//EN">
6 <style type=
"text/css">
9 font-family: verdana
, sans-serif
;
29 text-decoration:underline
;
34 text-decoration: none
;
47 border-bottom-width:1px;
48 border-bottom-style:dotted
;
64 <table width=
"90%" border=
"0" cellspacing=
"1" cellpadding=
"5">
67 <big><tt>Global.String.random
(len,
mode)
</tt></big><br>
73 creates a random string (numbers and chars)
<br><br>
76 <li><b>Parameter
</b> <code>len
</code>:
<br/>
77 length of key
<li><b>Parameter
</b> <code>mode
</code>:
<br/>
78 determines which letters to use. null or
0 = all letters;
1 = skip
0,
1, l and o which can easily be mixed with numbers;
2 = use numbers only
79 <li><b>Returns
</b><br>
91 <table width=
"90%" border=
"0" cellspacing=
"1" cellpadding=
"5">
93 <td>Sourcecode in /root/helma-
1.6.1/modules/core/String.js:
94 <pre><font color=
"#aaaaaa">630:
</font> String.random = function(len, mode) {
95 <font color=
"#aaaaaa">631:
</font> if (mode ==
2) {
96 <font color=
"#aaaaaa">632:
</font> var x = Math.random() * Math.pow(
10,len);
97 <font color=
"#aaaaaa">633:
</font> return Math.floor(x);
98 <font color=
"#aaaaaa">634:
</font> }
99 <font color=
"#aaaaaa">635:
</font> var keystr = String.NULL;
100 <font color=
"#aaaaaa">636:
</font> for (var i=
0; i
<len; i++) {
101 <font color=
"#aaaaaa">637:
</font> var x = Math.floor((Math.random() *
36));
102 <font color=
"#aaaaaa">638:
</font> if (mode ==
1) {
103 <font color=
"#aaaaaa">639:
</font> <font color=
"#33aa00"> // skip
0,
1
104 <font color=
"#aaaaaa">640:
</font> </font> x = (x
<2) ? x +
2 : x;
105 <font color=
"#aaaaaa">641:
</font> <font color=
"#33aa00"> // don't use the letters l (charCode
21+
87) and o (
24+
87)
106 <font color=
"#aaaaaa">642:
</font> </font> x = (x==
21) ?
22 : x;
107 <font color=
"#aaaaaa">643:
</font> x = (x==
24) ?
25 : x;
108 <font color=
"#aaaaaa">644:
</font> }
109 <font color=
"#aaaaaa">645:
</font> if (x
<10) {
110 <font color=
"#aaaaaa">646:
</font> keystr += String(x);
111 <font color=
"#aaaaaa">647:
</font> } else {
112 <font color=
"#aaaaaa">648:
</font> keystr += String.fromCharCode(x+
87);
113 <font color=
"#aaaaaa">649:
</font> }
114 <font color=
"#aaaaaa">650:
</font> }
115 <font color=
"#aaaaaa">651:
</font> return keystr;
116 <font color=
"#aaaaaa">652:
</font> }