Input filteren op cijfers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John De Zon

John De Zon

29/11/2015 16:57:51
Quote Anchor link
Hallo,

ik wil de input van mijn tekstveld filteren op cijfers en komma. Er moet dus een melding komen als er iets anders dan cijfers en een komma of enkel cijfers is gevonden.

Alvast bedankt!

Mvg
 
PHP hulp

PHP hulp

20/04/2024 09:06:46
 
Thomas van den Heuvel

Thomas van den Heuvel

29/11/2015 17:00:08
Quote Anchor link
Hoeveel cijfers achter de komma? En wat voor data is dit? Een bedrag? Als je dit nou eens splitst in euro's (of wat voor valuta je gebruikt) en centen dan kun je voor beide velden dezelfde controle gebruiken, zonder komma.
Gewijzigd op 29/11/2015 17:01:11 door Thomas van den Heuvel
 
John De Zon

John De Zon

29/11/2015 17:03:48
Quote Anchor link
Thomas van den Heuvel op 29/11/2015 17:00:08:
Hoeveel cijfers achter de komma?
- Dat maakt niet echt uit.
Thomas van den Heuvel op 29/11/2015 17:00:08:
En wat voor data is dit? Een bedrag?
- Gewoon een decimaal getal.

De komma moet er ook niet bij.
Alvast bedankt voor je snelle reactie!

Mvg
Gewijzigd op 29/11/2015 17:04:25 door John De Zon
 
Ivo P

Ivo P

29/11/2015 17:30:39
Quote Anchor link
mag

123.45
123,45
1,234,567.95
 
John De Zon

John De Zon

29/11/2015 17:32:40
Quote Anchor link
123,45 mag
123.45 mag niet
1,234,567.95 mag niet
 
Ivo P

Ivo P

29/11/2015 17:55:27
Quote Anchor link
en dan dus waarschijnlijk ook niet

1.234,95

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(preg_match('#^[0-9]+(,[0-9]+)?$#', $getal) {
  // ok
}
else {
  // niet ok
}
?>


dus:
^ vanaf het begin
+ (na de [] ) 1 of meer stuks
[0-9] 1 van de tekens in deze reeks (de cijfers 0 tot 9)

()? het vraagteken maakt de reeks tussen de () optioneel

(,[0-9]+) een komma, gevolgd door 1 of meer cijfers.

Daarmee zou dus 123 toegestaan zijn.
maar ook 0 of 999999999999

als er een komma volgt, moeten daarachter nog 1 of meer cijfers volgen
 
Pieter R

Pieter R

29/11/2015 18:28:00
Quote Anchor link
Kwam uit op deze: #\d+,?\d+#
Aldus
Grt Pieter
Gewijzigd op 29/11/2015 18:30:11 door Pieter R
 
John De Zon

John De Zon

29/11/2015 18:30:55
Quote Anchor link
Dank jullie wel voor alle snelle reacties! Het is gelukt!
Ivo P er moest nog een haakje bij op regel 2, als iemand anders het nog nodig heeft.
 
Ivo P

Ivo P

29/11/2015 19:50:15
Quote Anchor link
Aanvullend
De $ geeft het einde van de string.

@Pieter
dat zoekt alleen of ergens in de string minstens 2 cijfers staan met eventueel een komma ertussen.

Dat sluit het getal 8 uit (maar 1 cijfer)

Maar keurt goed "er moet $4,000,000.00 betaald worden.", omdat 4,000 matcht
 
Pieter R

Pieter R

29/11/2015 20:49:43
Quote Anchor link
@Ivo
Inderdaad, ik zie wat je bedoeld.
Dank voor je uitleg.
Gewijzigd op 29/11/2015 20:50:19 door Pieter R
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.