---
title: "If sats - preg_match"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/170250-if-sats-preg-match"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Simpa"
published: "2008-03-26T16:13:33.000Z"
updated: "2008-03-26T18:29:17.000Z"
replies: 6
views: 880
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/170250-if-sats-preg-match"
---

# If sats - preg_match

## #1 — Simpa, 2008-03-26T16:13Z

Vad är fel på denna kod? Den fungerar men genererar alltid att något är fel..!

```php
elseif (!empty($epost) || !preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost) || $epost != "Epost..") 
{
Din epost är inte korrekt ifylld.
}
else
{
```

Det jag vill är att om $epost inte är tom, ska den kolla så att emailen är ok, men den ska inte generera meddelandet om epost = "Epost.."

Mitt huvud går tydligen på lågvarv för jag lyckas inte få ihop if satsen :)

Permalänk: https://www.webforum.nu/p/170250

## #2 — Simpa, 2008-03-26T16:18Z

Testade nu även 

```php
elseif (!empty($epost) and preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost) == "False" || $epost != "Epost..")
```

 fast med samma resultat..!

Permalänk: https://www.webforum.nu/p/2093855

## #3 — Matti, 2008-03-26T17:51Z

> Det jag vill är att om $epost inte är tom, ska den kolla så att emailen är ok, men den ska inte generera meddelandet om epost = "Epost.."

Om $epost är korrekt ifylld (enligt det regujära uttrycket) kan $epost inte samtidigt ha värdet "Epost..".

```php
$epost = "min@mail.com"; // korrekt ifylld 
echo preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost); // Ger 1

$epost = "Epost..";
echo preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost); // Ger 0
```

\[redigerat\]
Eller vänta, när du skriver "Epost..", syftar du då på en korrekt mailadress typ <admin@sajten.com>?

Permalänk: https://www.webforum.nu/p/2093876

## #4 — Simpa, 2008-03-26T18:01Z

Nej, utan att i mitt formulär så är Value "Email.." och har dem inte valt att fylla i något annat så kommer fortfarande Email.. att skickas som value, vilket jag också vill.

Men Preg generarar alltså 1 om den är korrekt, och 0 om den inte är det, inte TRUE / FALSE?

```php
preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost) == "0"
```

Borde alltså fungera? Testar..!

\* Den säger fortfarande att email addressen är inkorrekt !

Permalänk: https://www.webforum.nu/p/2093880

## #5 — Simpa, 2008-03-26T18:26Z

Fick igång huvudet, samt scriptet..!

```php
$epostkoll = preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $epost);

elseif (!empty($epost) and $epostkoll == "0" and $epost != "Epost..") 
{
text.
}
```

Permalänk: https://www.webforum.nu/p/2093885

## #6 — Matti, 2008-03-26T18:26Z

\[ lite sen... \]

Permalänk: https://www.webforum.nu/p/2093886

## #7 — Simpa, 2008-03-26T18:29Z

Stort tack iaf Matti!

OT; Vad har hänt med mk.st? :)

Permalänk: https://www.webforum.nu/p/2093887

---

Tråden på webben: https://www.webforum.nu/amne/php/170250-if-sats-preg-match
