Daha iyi bu durumda deneyin ve karakterlerin her maç, tek bir geçersiz karakter görünene kez arama çıkabilirsiniz ve başarısızlık dönmek için daha geçersiz karakterler bakmak için. Bu her zaman bütün dize tarayarak daha verimlidir.
if (preg_match("/[^A-Za-z'-]/", $First)) { die ("invalid first name"); }
^ set içinde [] bu sette her şey değil maç yapar. biz bile bir geçersiz karakter varsa dize geçersiz olduğu ve bir tekrarlama operatörü için seti için gerek yoktur.
Daha iyi, daha yararlı bir hata mesajı olacaktır
if (preg_match("/[^A-Za-z'-]/", $First, $Inv)) { die ("{$Inv[0]} not allowed in first name"); }