Controleren op alleen maar cijfers en punten
Ik ben bezig met een Handelen plugin voor mijn website.
Hoe kan ik controleren als een veld alleen uit cijfers en punten bestaat?
Ze kunnen alleen overmaken met 1 cijfer achter de punt.
1.1 punt en 1.2
Hoe kan ik contoleren dat ze alleen dat maar invullen en geen letters etc.
Dus 1 of 1.1
Wie kan mij verder helpen?
alvast bedankt.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$compare = '1.1';
$regex = '/^[0-9\.]+$/';
if (!preg_match($regex, $compare) {
echo 'plese insert a valid value';
}
else {
echo 'Thank you!!';
}
?>
$compare = '1.1';
$regex = '/^[0-9\.]+$/';
if (!preg_match($regex, $compare) {
echo 'plese insert a valid value';
}
else {
echo 'Thank you!!';
}
?>
Gewijzigd op 06/03/2012 22:05:53 door Ger van Steenderen
Ger van Steenderen op 06/03/2012 21:30:20:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$compare = '1.1';
$regex = '/^[0-9.]+$/'
if (preg_match($regex, $compare) {
echo 'plese insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
$compare = '1.1';
$regex = '/^[0-9.]+$/'
if (preg_match($regex, $compare) {
echo 'plese insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
Dit is dus alleen 1.1 punten? of zie ik dat verkeerd?
En checkt dit ook op - punten dus als een user bijvoorbeeld -1 ingeeft?
Gewijzigd op 06/03/2012 21:31:43 door Kevin Blokzijl
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
Dit betekent dat een iemand altijd een waarde moet invullen zoals -0.33 dus dus niet -.33
Gewijzigd op 06/03/2012 22:11:51 door Ger van Steenderen
Ger van Steenderen op 06/03/2012 22:11:22:
Dit betekent dat een iemand altijd een waarde moet invullen zoals -0.33 dus dus niet -.33
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
Dit betekent dat een iemand altijd een waarde moet invullen zoals -0.33 dus dus niet -.33
Hoe bedoel je precies?
Ik wil dat mensen alleen een normaal getal kunnen invullen. 1 of 1.1
niet 1.11 of -1
**Kan iemand mij hier antwoord op geven dan?
Gewijzigd op 07/03/2012 12:46:01 door Kevin Blokzijl
Kevin Blokzijl op 06/03/2012 22:57:53:
Hoe bedoel je precies?
Ik wil dat mensen alleen een normaal getal kunnen invullen. 1 of 1.1
niet 1.11 of -1
Ger van Steenderen op 06/03/2012 22:11:22:
Dit betekent dat een iemand altijd een waarde moet invullen zoals -0.33 dus dus niet -.33
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
$regex = '^[\-+]?[0-9]*\.?[0-9]+$/';
$compare = '1.1';
if (!preg_match($regex, $compare) {
echo 'please insert a valid value';
}
else {
echo 'Thank you!!'
}
?>
Dit betekent dat een iemand altijd een waarde moet invullen zoals -0.33 dus dus niet -.33
Hoe bedoel je precies?
Ik wil dat mensen alleen een normaal getal kunnen invullen. 1 of 1.1
niet 1.11 of -1
Bij $compare vul je de $_POST in.
Deze regex doet wat jij wilt
Gewijzigd op 07/03/2012 13:12:37 door Ger van Steenderen
Ger van Steenderen op 07/03/2012 13:11:01:
Als ik nu 120 intyp geeft hij fout aan?
Kevin Blokzijl op 06/03/2012 21:31:25:
Dit is dus alleen 1.1 punten? of zie ik dat verkeerd?
En checkt dit ook op - punten dus als een user bijvoorbeeld -1 ingeeft?
Ger van Steenderen op 06/03/2012 21:30:20:
...
Dit is dus alleen 1.1 punten? of zie ik dat verkeerd?
En checkt dit ook op - punten dus als een user bijvoorbeeld -1 ingeeft?
Kevin Blokzijl op 06/03/2012 22:57:53:
Hoe bedoel je precies?
Ik wil dat mensen alleen een normaal getal kunnen invullen. 1 of 1.1
niet 1.11 of -1
**Kan iemand mij hier antwoord op geven dan?
Ger van Steenderen op 06/03/2012 22:11:22:
...
Hoe bedoel je precies?
Ik wil dat mensen alleen een normaal getal kunnen invullen. 1 of 1.1
niet 1.11 of -1
**Kan iemand mij hier antwoord op geven dan?
Dit zijn twee tegenstrijdige posts. Wil je nu wel -1 of niet? Daarbij wat is de range? Wil je van 0 t/m 10? Met welke intervallen? Ik neem aan maximaal 1 getal achter de komma (punt). Wat versta jij onder een 'normaal getal'. Als je dit zou kunnen specificeren, is het makkelijker. Daarbij kun je je ook in reguliere expressies verdiepen. Want in de tijd dat je hebt gewacht had je zelf een reguliere expressie kunnen maken. Hiermee kun je realtime testen
Gewijzigd op 10/03/2012 11:26:32 door Mark L
Kevin Blokzijl op 10/03/2012 10:05:58:
Nope: {1,3} betekent dat er mininimaal 1 cijfer voor de punt moet staan en er mogen er maximaal 3 voor staan, dus 999.9 is valid
@Ger van Steenderen. 120 zal hij niet matchen, je specificeert namelijk met [1-9] dat er geen 0 in mag. Dus 12[/b] kan niet. 121 daarentegen wel.