您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Il bollettinoonline è più facile
// ==UserScript== // @name Bollettino Facile // @version 1.20 // @description Il bollettinoonline è più facile // @author Maxeo | maxeo.net // @match https://www.bollettinoonline.it/ // @match https://www.bollettinoonline.it/crea/ // @icon https://www.maxeo.net/imgs/icon/android-chrome-192x192.png // @namespace https://greasyfork.org/users/88678 // @license https://creativecommons.org/licenses/by-sa/4.0/ // ==/UserScript== (function () { function spell_my_int(numstr, centOOttanta) { mono = new Array("", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove"); duplo = new Array("dieci", "undici", "dodici", mono[3] + "dici", "quattordici", "quindici", "sedici", "dicias" + mono[7], "dici" + mono[8], "dician" + mono[9]); deca = new Array("", duplo[0], "venti", mono[3] + "nta", "quaranta", "cinquanta", "sessanta", "settanta", "ottanta", "novanta"); cento = new Array("cent", "cento"); mili = new Array(); mili[0] = new Array("", "mille", "milione", "miliardo", "bilione", "biliardo"); mili[1] = new Array("", "mila", "milioni", "miliardi", "bilioni", "biliardi"); text = new Array(); cifra = new Array(); result = ""; sezione = 0; // In Javascript si fa così per dire che questo parametro e' opzionale, con valore false di default centOOttanta = centOOttanta || false; numstr += ''; // Non deve cominciare per zero altrimenti parseInt() impazzisce... while (numstr.substr(0, 1) == "0" && numstr.length != 1) { numstr = numstr.substr(1, numstr.length); } num = parseInt(numstr); switch (numstr.length % 3) { case 1: numstr = "00" + numstr; break; case 2: numstr = "0" + numstr; } numlen = numstr.length; if (isNaN(num)) { return "Non e' un numero!"; } else if (num < 0) { return "Numero negativo!"; } else if (numstr.length > 6 * 3) { return "Limite superato!"; } else if (num == 0) { return "zero"; } while ((sezione + 1) * 3 <= numlen) { subnumerostring = numstr.substr(((numlen - 1) - ((sezione + 1) * 3)) + 1, 3); if (subnumerostring != "000") { subnumero = parseInt(subnumerostring); cifra[0] = subnumerostring.substr(0, 1); cifra[1] = subnumerostring.substr(1, 1); cifra[2] = subnumerostring.substr(2, 1); prime2cifre = parseInt(cifra[1] * 10) + parseInt(cifra[2]); if (prime2cifre < 10) { text[2] = mono[cifra[2]]; text[1] = ""; } else if (prime2cifre < 20) { text[2] = ""; text[1] = duplo[prime2cifre - 10]; } else { // ventitre => ventitrè if (sezione == 0 && cifra[2] == 3) { text[2] = "tre'"; } else { text[2] = mono[cifra[2]]; } // novantaotto => novantotto if (cifra[2] == 1 || cifra[2] == 8) { text[1] = deca[cifra[1]].substr(0, deca[cifra[1]].length - 1); } else { text[1] = deca[cifra[1]]; } } if (cifra[0] == 0) { text[0] = ""; } else { // centoottanta => centottanta if (!centOOttanta && cifra[1] == 8 || (cifra[1] == 0 && cifra[2] == 8)) { IDcent = 0; } else { IDcent = 1; } if (cifra[0] != 1) { text[0] = mono[cifra[0]] + cento[IDcent]; } else { text[0] = cento[IDcent]; } } // unomille => mille // miliardo => unmiliardo if (subnumero == 1 && sezione != 0) { if (sezione >= 2) { result = "un" + mili[0][sezione] + result; } else { result = mili[0][sezione] + result; } } else { result = text[0] + text[1] + text[2] + mili[1][sezione] + result; } } sezione++; } return result; } function aggiornaBollettino() { let interiInp = document.querySelector('form input[name="interi"]'); let interiValue = interiInp.value + ""; let centesimiInp = document.querySelector('form input[name="centesimi"]'); let centesimiValue = centesimiInp.value + ""; if (interiValue.replace(/^[0-9]+$/, "") == "") { interiInp.style.color = '#000' } else { interiInp.style.color = 'red'; } if (centesimiValue.replace(/^[0-9]{2}$/, "") == "") { centesimiInp.style.color = '#000' } else { centesimiInp.style.color = 'red'; } let valoreLettere = spell_my_int(interiValue * 1); let forzalettere = false; if (centesimiValue.length) { valoreLettere += "/" if (centesimiValue * 1 < 10) { valoreLettere += forzalettere ? "zero" : '0'; } valoreLettere += forzalettere ? spell_my_int(centesimiValue * 1) : centesimiValue; } document.querySelector('form input[name="eurolettere"]').value = valoreLettere.toUpperCase(); } function caricaBaseBollettino() { document.querySelector('form input[name="intestato_a"]').value = "IREN SPA LUCE GAS 1"; document.querySelector('form input[name="cc"]').value = "38186193" } function loadHash() { var myHash = document.location.hash.substr(2).split('&'); if (myHash.length > 3) { var myDataHash = []; for (var index in myHash) { var mySplit = myHash[index].split("="); myDataHash[mySplit[0]] = decodeURIComponent(mySplit[1]); } if (myDataHash['importo'] * 1 > 0) { var importo = myDataHash['importo'].replace('.', ',').split(','); document.querySelector('form input[name="eseguito_da"]').value = myDataHash['first_name']; document.querySelector('form input[name="via_piazza"]').value = myDataHash['address1']+' '+myDataHash['address2']; document.querySelector('form input[name="cap"]').value = myDataHash['postal_code']; document.querySelector('form input[name="localita"]').value = myDataHash['city']; //document.querySelector('form input[name="interi"]').value = importo[0]; //document.querySelector('form input[name="centesimi"]').value = importo[1]; document.querySelector('form input[name="causale"]').value = "CONTRATTO: " + myDataHash['numero_contratto'] + ' BOLLETTA: ' + myDataHash['num_documento']+' SCAD: 15/09/2020'; aggiornaBollettino(); } } } document.querySelector('form input[name="interi"]').addEventListener('keyup', aggiornaBollettino); document.querySelector('form input[name="centesimi"]').addEventListener('keyup', aggiornaBollettino); caricaBaseBollettino(); loadHash(); })();