Is er een manier om makkelijk in JavaScript prijzen te valideren? Dus ik denk aan: 2 cijfers achter de komma en geen vreemde tekens in je input. Misschien kan dit met een regex oid, als dat in JS beschikbaar is....
valideren waarop? vage tekens in je input? bedoel je op twee decimalen afronden?
Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.
Dat _is_ beschikbaar!Op vrijdag 28 december 2001 16:40 schreef dev-null het volgende:
Misschien kan dit met een regex oid, als dat in JS beschikbaar is....
In JS kun je inderdaad ook gewoon regexen gebruiken. Check anders even hier; iets over currency-validation: http://javascript.internet.com/forms/currency-format.html
Voor meer van die meuk: http://javascript.internet.com/forms/
Voor meer van die meuk: http://javascript.internet.com/forms/
Ja ik bedoel meer:
Dus dat het gewoon niet mogelijk is om iets anders dan cijfers te typen, behalve eventueel een komma....
code:
1
2
3
4
5
6
| Input Output 5 5,00 7,3 7,30 7,015 7,02 (of 7,01 maakt niet zoveel uit) 7ab 7,00 e 100 100,00 |
Dus dat het gewoon niet mogelijk is om iets anders dan cijfers te typen, behalve eventueel een komma....
afronden op twee decimalen:
*100/100 omdat js normaal op 1 decimaal afrond.
code:
1
| Math.round(getal * 100)/100; |
*100/100 omdat js normaal op 1 decimaal afrond.
Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.
Ja, dat was me al gelukt. Maar het probleem is om de vreemde tekens er uit te filteren...
dan kun je misschien gebruik maken van NaN (Not a Number) zoiets als
code:
1
2
3
| if(blablabla = NaN) {
blablabla
} |
Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.
gebruik zelf dit:
Dit om een melding te geven wanneer er meer dan twee cijfers achter de komma zijn gegeven en te testen op cijfers. De punt wordt vervangen door een komma, in het kader van een database. Ik weet niet of je er echt wat aan hebt, maar goed wie weet
code:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| var prijs=new Array(4)
prijs[0]=document.form1.verkoopprijs.value
prijs[1]=document.form1.verkoopprijsk1.value
prijs[2]=document.form1.verkoopprijsk2.value
prijs[3]=document.form1.verkoopprijsk3.value
for (z=0; z<4; z++)
{
if(prijs[z]!= '')
{
var newPrijs
newPrijs = ''
for(i=0;i<prijs[z].length; i++)
{
if (!(isNaN(prijs[z].substring(i, i+1)) ) )
{
if(prijs[z].substring(i, i+1)!=' ')
{
newPrijs = ''+newPrijs+''+prijs[z].substring(i, i+1)+'';
}
}
else
{
if(prijs[z].substring(i, i+1)==".")
{
if (prijs[z].substring(i+1,prijs[z].length).length>2)
{
alert("Er zijn bij de prijs 2 cijfers achter de komma toegestaan");
return false;
}
newPrijs = ''+newPrijs+''+',';
}
if(prijs[z].substring(i, i+1)==",")
{
if (prijs[z].substring(i+1,prijs[z].length).length>2)
{
alert("Er zijn bij de prijs 2 cijfers achter de komma toegestaan");
return false;
}
newPrijs = ''+newPrijs+''+',';
}
}
}
if (newPrijs != '')
switch (z)
{
case 0:
document.form1.verkoopprijs.value=newPrijs
break
case 1:
document.form1.verkoopprijsk1.value=newPrijs
break
case 2:
document.form1.verkoopprijsk2.value=newPrijs
break
case 3:
document.form1.verkoopprijsk3.value=newPrijs
}
else {alert("prijs moet uit minstens 1 cijfer bestaan.")
return false;
}
}
} |
Dit om een melding te geven wanneer er meer dan twee cijfers achter de komma zijn gegeven en te testen op cijfers. De punt wordt vervangen door een komma, in het kader van een database. Ik weet niet of je er echt wat aan hebt, maar goed wie weet
Regular Expressions zijn beschikbaar in Javascript vanaf versie 1.2 Stappenplan is als volgt:
- Bedenk welke pattern je regular expression moet matchen ( FL. 12,00 is geldig, maar FL 12234.2343,234 niet )
- Daar bedenk je een mooie regex voor
- Dan een script (pseudocode):
zo zou ik hem schrijven.
HTH
- Bedenk welke pattern je regular expression moet matchen ( FL. 12,00 is geldig, maar FL 12234.2343,234 niet )
- Daar bedenk je een mooie regex voor
- Dan een script (pseudocode):
code:
1
2
3
4
5
6
7
8
9
| function checkCurrency(str) {
als str een number is {
defineer regex
test str op regex
als deze geldig is return true
zoniet
return false
}
} |
zo zou ik hem schrijven.
HTH
"You're only as good, as what you did last week."
Pagina: 1