[javascript] Prijs

Pagina: 1
Acties:

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
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....

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:22

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

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.


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 17:26
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....
Dat _is_ beschikbaar! :)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 18:23

Pelle

🚴‍♂️

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/

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Ja ik bedoel meer:
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....

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:22

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

afronden op twee decimalen:
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.


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Ja, dat was me al gelukt. Maar het probleem is om de vreemde tekens er uit te filteren...

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:22

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

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.


  • huistra
  • Registratie: April 2001
  • Laatst online: 08-05-2024
gebruik zelf dit:
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 :)

Verwijderd

Het is zeker mogelijk, mijn broer het eens zo'n Euro omreken ding gemaakt...

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

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):
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