Invoer decimaal cijfer beperken

Status
Niet open voor verdere reacties.

resource

Nieuwe gebruiker
Lid geworden
4 mei 2007
Berichten
2
Hallo,

Ik heb ergens een functie in javascript gevonden wat de invoer beperkt tot cijfers en een punt. Zo ben ik zeker dat er louter (decimale) cijfers in gebracht kunnen worden. Is het nu niet mogelijk om de lengte te beperken tot 1 cijfer na het punt en dat er na het punt ook alleen maar een '5' kan ingevuld worden. Opgelet zuivere integers moeten uiteraard ook nog ingevuld kunnen worden... Als PhP-er heb ik weinig kaas van Javascript gegegeten, vandaar mijn vraag.. Thnxs

hier de code voor de functie:
<script>
var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function onlyDigits(e,decReq) {
var key = (isIE) ? window.event.keyCode : e.which;
var obj = (isIE) ? event.srcElement : e.target;
var isNum = (key > 47 && key < 58) ? true:false;
var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
if(key < 32)
return true;
return (isNum || dotOK);
}
</script>

en het aanroepen van de functie:
<input type="text" name="woruim" value="<?php echo($woruim1);?>"maxlength="5" size="5"onkeypress="return onlyDigits(event,'decOK')">
 
PHP:
<script type="text/javascript">
 // Egel 070504 ;)
 function checkExp(e,r) {
  while (!r.test(e.value) && e.value.length > 0) e.value = e.value.substring(0,e.value.length - 1);
  };
</script>

1 - 3 cijfers . en 0 of 5:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d{1,3}(\.|\.[05])?$/)">

1 - 5 cijfers:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d{1,5}$/)">

1 of meer cijfers:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d+$/)">
:)


Vr.Gr. Egel.
 
PHP:
<script type="text/javascript">
 // Egel 070504 ;)
 function checkExp(e,r) {
  while (!r.test(e.value) && e.value.length > 0) e.value = e.value.substring(0,e.value.length - 1);
  };
</script>

1 - 3 cijfers . en 0 of 5:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d{1,3}(\.|\.[05])?$/)">

1 - 5 cijfers:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d{1,5}$/)">

1 of meer cijfers:
<input type="text" size="6" value="" onkeyup="checkExp(this,/^\d+$/)">
:)


Vr.Gr. Egel.

Ok, script klopt en is eigenlijk wel beter omdat de personen die gegevens invoeren automatisch zien wat er verkeerd ingebracht wordt ..
Vriendelijk bedankt ...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan