Ciao,
vedendo l'esempio presumo che il carattere "due punti" tu lo voglia ogni 2 caratteri partendo da destra.
Con una regular expression potresti individuare facilmente i due caratteri partendo da sinistra. Si potrebbe fare anche partendo da destra ma trovo più semplice invertire la stringa, elaborarla con la regulra expression e poi re-invertirla.
Potresti fare una funzione per invertire le stringhe
codice:
function invertiStringa(str){
var valore='';
for(var i=0;i<str.length;i++)valore=str.substr(i,1)+valore;
return valore;
}
e poi la tua funzione per formattare con i "due punti"
codice:
function TuaFunzione(valore){
return invertiStringa(invertiStringa(valore+'').replace(/(.{2})/g,'$1:')).replace(/^\:/,'');
}
in pratica inverto la stringa, metto i "due punti" ogni due caratteri, inverto il risultato ed elimino gli eventuali "due punti" iniziali.
e qui ti metto un esempio di utilizzo
codice:
<script>
function invertiStringa(str){
var valore='';
for(var i=0;i<str.length;i++)valore=str.substr(i,1)+valore;
return valore;
}
function TuaFunzione(valore){
return invertiStringa(invertiStringa(valore+'').replace(/(.{2})/g,'$1:')).replace(/^\:/,'');
}
document.write(TuaFunzione(200000)+'<br>');
document.write(TuaFunzione(20000)+'<br>');
document.write(TuaFunzione(200)+'<br>');
document.write(TuaFunzione(20)+'<br>');
document.write(TuaFunzione(2)+'<br>');
</script>