Converte una data dal formato yyyy-mm-dd hh:mm:ss a yyyymmddhhmmss. Utile per poter sfruttare le funzioni di ordinamento; tipo asort().
1 2 3 4 5 6
| /**
* Format from "yyyy-mm-dd hh:mm:ss" to "yyyymmddhhmmss"
*/
function plainDate ( $d ) {
return( preg_replace( '/(-|:|\040)/', '', $d ) );
} |
Continua...
Qualcuno sostiene che la programmazione è un arte e, in ultima analisi, non posso che essere d’accordo soprattutto quando si scovano soluzioni estremamente diverse per un medesimo problema. Per capire quanto sia vero questo, ecco come un’identica necessità nel medisimo linguaggio (Javascript) può essere risolta con approcci assolutamente diversi ed originali.
Left Pad zero
Un numero, ma il discorso è valido anche per una qualsiasi stringa, come 123 può essere riempito a sinistra – per pareggiarlo – con un certo numero di zeri, ad esempio: 00123. Questa necessità si presenta in varie occasioni e risulta utile per incolonnare – o comunque mostrare – un numero in maniera pulita, indicandone implicitamente il suo valore massimo. Nei videogame, ad esempio, il classico punteggio (lo score) viene spesso indicato con 001234, indicando che al massimo si arriverà a 999999. Ecco come lo stesso problema è stato risolto da vari sviluppatori:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| /**
* Left Pad String
*
* @from http://snipplr.com/view/8423/left-pad-string/
* @author-web http://www.mechanicmatt.com/
*
* @param num - Striga da riempire
* @param totalChars - Numero totale di caratteri, comprensivo degli "zeri"
* @param padWidth - Carattere usato per riempire, default "0"
*/
function leadingZeros(num, totalChars, padWith) {
num = num + "";
padWith = (padWith) ? padWith : "0";
if (num.length < totalChars) {
while (num.length < totalChars) {
num = padWith + num;
}
} else {}
if (num.length > totalChars) { //if padWith was a multiple character string and num was overpadded
num = num.substring((num.length - totalChars), totalChars);
} else {}
return num;
}
alert(leadingZeros("asdf", 10, "0")); |
Questa soluzione è estremamente articolata, tuttavia permette di aggiungere un numero indefinito di 0 al numero num scegliendo anche il tipo di carattere da usare tramite padWidth, invece del default 0.
Decisamente originale, invece, questa soluzione:
1 2 3 4 5 6 7 8 9 10 11 12 13
| /**
* string_pad
*
* @from http://snipplr.com/view/700/stringpad/
* @author http://d.hatena.ne.jp/brazil/20060721/1153489937
*
* @param str - Striga da riempire
* @param len - Numero totale di caratteri, comprensivo degli "zeri"
* @param ch - Carattere usato per riempire
*/
function pad(str, len, ch){return new Array(len-(''+str).length+1).join(ch) + str}
alert(pad(56, 4, '0')); // 0056 |
Stesso risultato, con un approccio completamente diverso. Anche in questo caso abbiamo la possibilità di decidere il numero di caratteri padding tramite il parametro len e il tipo di carattere da usare tramite ch. Manca però l’uso del default previsto nella precedente funzione.
Quella che uso io, invece…:
1 2 3 4 5 6 7 8 9 10 11 12
| /**
* string_pad
*
* @author Giovambattista Fazioli
* @web http://www.undolog.com
*
* @param s - Striga da riempire
* @param l - Stringa che indica sia il carattere che la lunghezza
* ad esempio "0000" = carattere "0" lunghezza 4
*/
function padding(s,l) { return( l.substr(0, (l.length-s.length) )+s ); }
alert( padding('123','0000') ); |
Se avete altre soluzioni interessanti non esitate a commentare
Continua...
Delimita una porzione di testo per il numero di “parole”:
1 2 3 4 5 6 7 8 9 10 11
| /**
* String word cut
*
* @private
*/
function wordCut ($c, $l){
$c= explode(' ',$c);
for($i=0; $i<$l; $i++) $r[$i] = $c[$i];
$r= implode(' ', $r).'...';
return $r;
} |
Continua...
Lee Brimelow, Platform Evangelist in Adobe, si occupa di sviluppo in Flash, Flex ed AIR. Dal suo blog (TheFlashBlog) è possibile scaricare una comoda estensione per Flash CS3: Snippets. Questa estensione, scritta utilizzando le API che Flash mette a disposizione per interagire con la sua IDE (JSFL API), permette di aggiungere un comodo pannello (sulla falsa riga di quello presente già in Adobe Dreamweaver) dove è possibile inserire delle piccole porzioni di codice che usiamo più spesso.
Una volta installato è già possibile usufrire di alcuni snippets forniti dall’autore. Cliccando sull’icona
è possibile modificare il file XML che contiene gli snippets (gli spezzoni di codice). Una volta fatta la modifica è sufficiente salvare il file e cliccare sull’icona
per aggiornare la lista. Sul sito dell’autore sono stati rilasciati proprio in questi giorni ulteriori snippets da aggiungere a quelli già presenti. Ecco la versione completa del file XML:
Continua...
Ultimi Commenti
Giovambattista Fazioli: @Nik: Sono contento! In bocca al lupo dunque!!
Nik: Lunedì ho l’esame di informatica su java, grazie mi sei stato utilissimo, il libro che ho era poco chiaro...
Marco: Ti ringrazio moltissimo, mi hai illuminato
ho risolto impostando [cc_objc] //OptionViewController.m -...
Giovambattista Fazioli: @Marco: Ti consiglio un approccio credo più corretto. Se hai eseguito il subclass del tab...
luigi: molto chiaro e semplice devo ammettere che anche scrivendo da un pà difficilmente uso delegati creati da...