Mikä menee vikaan? Yritän tarkastaa, että kenttään on syötetty ainakin yksi mutta vain yksi @-merkki.
if (! preg_match("/@{1}]/", $email))
return " Sähköpostissa on yksi @-merkki";
Tuo antaa virheilmoituksen jos @-merkkiä ei ole, mutta ei, jos niitä on yli yksi.
if (! preg_match("/@{1}]/", $email))
return " Sähköpostissa on yksi @-merkki";
Tuo antaa virheilmoituksen jos @-merkkiä ei ole, mutta ei, jos niitä on yli yksi.
Vastaukset 5
Vanhimmat
if (! preg_match("/[@{1}]/", $email))
return " Sähköpostissa on yksi @-merkki";
Siis molemmat hakasulut oli kyllä.
parempi: substr_count = Count the number of substring occurrences eli laskee annetun merkkijonon esiintymiskerrat. Merkkijono on tietysti pelkkä @-merkki.
malliin
if (substr_count("@", $email)==1)
return " Sähköpostissa on yksi @-merkki";
Pitäisihän tuon toimia, mutta en vaan saa toimimaan. Noin se ei herjaa, oli niitä @-merkkejä 0,1 tai 2 ja kun laitoin !-merkin eteen, herjaa se oli niitä @-merkkejä sitten 0,1 tai 2.
Vähän eri tavalla, mutta nyt toimii. Kiitos avusta!