root/ukázka/js/skript.js @ 125:20a52ce68314

Revision 125:20a52ce68314, 2.1 KB (checked in by František Kučera <franta-hg@…>, 11 years ago)

odkazy na e-maily: nahrazování všech výskytů tečky a zavináče, ne jen prvních

Line 
1/**
2 * XML Web generátor – program na generování webových stránek
3 * Copyright © 2012 František Kučera (frantovo.cz)
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/**
20 * XML Web generátor – jmenný prostor
21 */
22var xwg = {
23        /**
24         * Zašifruje/dešifruje obsah elementu pomocí Rot13.
25         * @param id ID elementu, jehož text chceme změnit.
26         */
27        rot13: function(id) {
28                var e = document.getElementById(id);
29                e.textContent = e.textContent.rot13();
30        },
31
32        /**
33         * Vloží klikatelný odkaz.
34         * @param id ID span elementu obsahujícího data
35         */
36        odkazNaElektronickouPoštu: function(id) {
37                var spanČesky = document.getElementById(id);
38                var spanObsah = document.getElementById(id + "b");
39                var česky = spanČesky.innerHTML;
40                var adresa = česky
41                                                .replace(new RegExp(" zavináč ", "g"), "@")
42                                                .replace(new RegExp(" tečka ", "g"),".");
43
44                var odkaz = document.createElement("a");
45                odkaz.href = "mailto:" + adresa;
46                if (spanObsah.innerHTML.length > 0) {
47                        odkaz.innerHTML = spanObsah.innerHTML;
48                } else {
49                        odkaz.innerHTML = adresa;
50                }
51
52                spanČesky.parentNode.insertBefore(odkaz, spanČesky);
53                spanČesky.parentNode.removeChild(spanČesky);
54                spanObsah.parentNode.removeChild(spanObsah);
55        },
56
57};
58
59/**
60 * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13
61 */
62String.prototype.rot13 = function() {
63        return this.replace(/[a-zA-Z]/g, function(z) {
64                return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
65        });
66};
67
Note: See TracBrowser for help on using the browser.