PHP - regex nyűg

Sziasztok!

Nem jutok dűlőre az alábbi problémával kapcsolatban:

$regexp_email = "/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/";
if (!preg_match($regexp_email, $POST['email'])) {

echo "

";
echo "alert('Nem érvényes emailcím formátum!');";
echo "

";
}

Eredmény: hiába jó az emailcím (valami@domain.tld), akkor is kidobja az alert ablakot...

Egy másik input mezőnél, ahol csak számokat fogadok, a $regexp_num = "^[0-9]"; mintára szintén false-ra fut akkor is, ha tényleg számokat írok be.

Kérdésem: mit rontottam el és mi a megoldás?

Előre is köszönöm a segítséget.

Hozzászólások

if(filter_var("bob@domain.tld", FILTER_VALIDATE_EMAIL)) {
// it's valid so do something
}
else {
// it's not valid so do something else
}

$POST['email']

=>

$_POST['email']

;

(szoval nem a regexp-pel van a baj, az teljesen jo... bar en a [^@]-t lecserelnem ugyanugy egy [a-zA-Z0-9._-] mintara, vagy legalabbis azokra amik itt fel vannak sorolva)