Enter toevoegen aan preg match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jurgen de Brouwer

Jurgen de Brouwer

06/11/2014 12:55:52
Quote Anchor link
Hallo,

Ik heb een contact formulier.
Nu heb ik daar een opmerking tekst vak.
Nu krijg ik steeds een foutmelding dat het niet goed ingevuld is als er een enter gebruikt is.
Is dit op te lossen.
Ik heb zitten google maar ik kom er niet uit.
Het gaat voer dit stukje script:


if ( !isset($_POST['email']) or !preg_match( '~^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$~i/n', $_POST['email'] ) ) {
$aErrors['email'] = 'Emailadres is niet ingevuld';
Gewijzigd op 06/11/2014 12:56:08 door Jurgen de Brouwer
 
PHP hulp

PHP hulp

16/11/2024 20:44:03
 
Ozzie PHP

Ozzie PHP

06/11/2014 13:06:11
Quote Anchor link
Dat stukje gaat over een e-mailadres. Daar hoort ook helemaal geen enter in te zitten.

De melding 'Emailadres is niet ingevuld' zou ik vervangen door 'Emailadres is niet of onjuist ingevuld'
 
Jurgen de Brouwer

Jurgen de Brouwer

06/11/2014 13:08:50
Quote Anchor link
Oeps verkeerde stukje script

if ( !isset($_POST['berricht']) or !preg_match( '/^[A-Za-z0-9\-\\,. ]+$/', $_POST['berricht'] ) ) {
$aErrors['berricht'] = 'Vraag / opmerking is niet ingevuld';
}
 
Ozzie PHP

Ozzie PHP

06/11/2014 13:13:59
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (!isset($_POST['berricht']) || trim($_POST['berricht']) === '') {
  $aErrors['berricht'] = 'Vraag / opmerking is niet ingevuld';
}

?>

P.s. Het woord "bericht" schrijf je met 1 "r".
 
Jurgen de Brouwer

Jurgen de Brouwer

06/11/2014 13:17:29
Quote Anchor link
Bedankt dit werkt wel.

oja typ foutje
 
Willem vp

Willem vp

06/11/2014 13:20:54
Quote Anchor link
Gewoon multiline matchen:

preg_match( '/^[A-Za-z0-9\-\\,\. ]+$/m', $_POST['berricht'])

Toevoeging op 06/11/2014 13:25:57:

O ja, die . in je regex is een wildcard die alles matcht. Als je daadwerkelijk een punt wilt matchen, moet je die escapen: \.
Gewijzigd op 06/11/2014 13:26:43 door Willem vp
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/11/2014 16:39:43
Quote Anchor link
Of gebruik gewoon de filter_var functie om een mailadres te checken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(!isset($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) )
{

    $aErrors['email'] = 'Emailadres is niet ingevuld';
}

?>
 
Willem vp

Willem vp

06/11/2014 17:07:14
Quote Anchor link
> Of gebruik gewoon de filter_var functie om een mailadres te checken.

Mee eens. De regex die in de eerste post wordt gebruikt weigert een heleboel geldige adressen.
Er zijn zo van die dingen die je beter kunt overlaten aan bestaande library-functies.

Overigens, een regex die het een stuk beter doet is deze:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
 



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.