Hoi,
Ik heb een tekstveld waar een prijs moet worden ingevuld. Op zich niets moeilijks, maar ik wil er met JavaScript voor zorgen dat het ook formatted wordt als een prijs. Dat wilt zeggen: Alleen cijfers en komma accepteren, indien nodig een komma toevoegen, en indien nodig extra nullen toevoegen op het einde (5,5 wordt dan 5,50).
Na wat geknipt en plakt te hebben, bleek het volgende al redelijk te werken:
[JS]function formatprice(num,sep){
if(num.indexOf(sep)<0){
num+=sep+"00";
}
else if(num.indexOf(sep)==num.length-1){
num+="00";
}
else if(num.indexOf(sep)==num.length-2){
num+="0";
}
return num;
}[/JS]
Waarbij sep een komma is bij het aanroepen van de functie, bij het onchange event van een tekstveld.
Nu hoef ik dus alleen de letters te filteren (lees: alleen cijfers en een komma toestaan), maar ik heb absoluut geen idee hoe dat het efficiëntst met JS kan. Iemand een idee?
Alvast bedankt
Ik heb een tekstveld waar een prijs moet worden ingevuld. Op zich niets moeilijks, maar ik wil er met JavaScript voor zorgen dat het ook formatted wordt als een prijs. Dat wilt zeggen: Alleen cijfers en komma accepteren, indien nodig een komma toevoegen, en indien nodig extra nullen toevoegen op het einde (5,5 wordt dan 5,50).
Na wat geknipt en plakt te hebben, bleek het volgende al redelijk te werken:
[JS]function formatprice(num,sep){
if(num.indexOf(sep)<0){
num+=sep+"00";
}
else if(num.indexOf(sep)==num.length-1){
num+="00";
}
else if(num.indexOf(sep)==num.length-2){
num+="0";
}
return num;
}[/JS]
Waarbij sep een komma is bij het aanroepen van de functie, bij het onchange event van een tekstveld.
Nu hoef ik dus alleen de letters te filteren (lees: alleen cijfers en een komma toestaan), maar ik heb absoluut geen idee hoe dat het efficiëntst met JS kan. Iemand een idee?
Alvast bedankt