vraagje over regular expression

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerard Nijboer

Gerard Nijboer

18/08/2008 00:15:00
Quote Anchor link
Hallo,

Voor een formulier wil ik de waarde van bijvoorbeeld de straatnaam checken, zodat deze geen verboden tekens bevat.
Maar aangezien het een optioneel veld is, wil ik dat deze ook leeg mag blijven.
Dat krijg ik niet voor elkaar met mijn regexp code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!ereg("^[a-zA-Z0-9_ -]+$",'')) { echo 'fout!'; } ?>

Hoe krijg ik dat wel voor elkaar?
Alvast bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Gerard Nijboer
 
PHP hulp

PHP hulp

22/12/2024 11:29:40
 
PHP Newbie

PHP Newbie

18/08/2008 00:20:00
Quote Anchor link
if(!empty($_POST['straatnaam']) && !ereg("^[a-zA-Z0-9_ -]+$",'')) { echo 'fout';}

Vertaald:

Wanneer hij niet leeg is en niet aan de regex voldoet: foute boel
 
Gerard Nijboer

Gerard Nijboer

18/08/2008 00:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (!ereg("^[a-zA-Z0-9_ -]*$",'')) { echo 'fout!'; } ?>

Sorry, iets te vroeg gepost, zo werkt hij ook. Toch?

EDIT: Door het plus-teken te vervangen voor een sterretje geef je aan dat hij leeg of een match moet hebben.
Gewijzigd op 01/01/1970 01:00:00 door Gerard Nijboer
 
PHP Newbie

PHP Newbie

18/08/2008 00:27:00
Quote Anchor link
Of hij werkt kun je zelf even uitproberen natuurlijk.

edit:
Je zult de waarde altijd met empty of isset moeten checken om een notice te voorkomen.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Maarten Slenter

Maarten Slenter

18/08/2008 09:41:00
Quote Anchor link
doe niet zo moeilijk en maar er idd gewoon van

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(empty($test) || !ereg("^[a-zA-Z0-9_ -]*$",$test)
?>


Wat dat dus doet is kijken of de variabele $test leeg is OF of de variabele voldoet aan jouw eisen.

Zo simpel als dat is het...
 
Leroy Boerefijn

Leroy Boerefijn

18/08/2008 10:17:00
Quote Anchor link
@maarten, dat klopt niet

het moet !empty() && !ereg() zijn om te voldoen aan z'n eisen ;)
 



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.