Prova questo (IE)
Inserisci un numero e poi clicca sul pulsante.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
function completeNumField(fieldName,digitInt,digitDec) {
fieldName.value = fieldName.value.replace(',','.');
//----------- Sortie s'il ne s'agit pas d'une donnée numérique
if (isNaN(fieldName.value)) {return;}
//----------- Si la longueur est atteinte on sort
if (fieldName.value.length >= (digitInt+digitDec)) {return;}
//----------- Recherche de . ou ,
var re = /(\.)/i;
found = fieldName.value.search(re);
if (found == -1) {
re = /(,)/i;
found = fieldName.value.search(re);
} // if (found == -1)
if (found != -1) {
//-------------- Nombre avec virgule
var integerPart = fieldName.value.substr(0,found);
var decimalPart = fieldName.value.substr(found+1,fieldName.value.length - found - 1);
//----- Partie décimale
if (decimalPart.length > digitDec) {
decimalPart = decimalPart.substr(0,digitDec -1);
} else {
for (i=decimalPart.length;i<digitDec;i++) {
decimalPart = decimalPart + '0';
} // if (decimalPart.length > digitDec)
} // if (decimalPart.length > digitDec)
//----- Partie entière
for (i=integerPart.length;i<digitInt;i++) {
integerPart = '0' + integerPart;
} // for (i=integerPart.length;i<digitInt;i++)
fieldName.value = integerPart + decimalPart;
return;
} else {
//----- Partie décimale
for (i=0;i<digitDec;i++) {
fieldName.value = fieldName.value + '0';
} // if (decimalPart.length > digitDec)
//----- Partie entière
for (i=fieldName.value.length;i<(digitInt+digitDec);i++) {
fieldName.value = '0' + fieldName.value;
} // for (i=integerPart.length;i<digitInt;i++)
return;
} // if (found != -1)
alert(integerPart + " " + decimalPart);
return;
// fieldName.value = "";
}
//-->
</script>
<input type="text" id="text1">
<input type="button" value="clicca" onclick="completeNumField(document.getElementById('text1'),8,0)">
</body>
</html>