preg_match 字母 不仅仅是字母?

Ant*_*ony 1 php preg-match

我已经在这里和网上四处寻找解决方案。

问题是我只想接受字母。但是,如果我输入至少一个字母,无论是符号还是数字,都会取而代之。我怎么得到字母?

if (!preg_match("/[a-zA-Z]/", $_POST["firstname"]))
    $error = "<br />PLease enter a valid first name";
Run Code Online (Sandbox Code Playgroud)

nis*_*eri 5

使用/^[a-zA-Z]+$/代替/[a-zA-Z]/

if (!preg_match("/^[a-zA-Z]+$/", $_POST["firstname"]))
    $error = "<br />PLease enter a valid first name";
Run Code Online (Sandbox Code Playgroud)

正则表达式的解释:

  • ^ – 匹配字符串的开头。
  • [] – 匹配允许的字符。
  • + – 匹配一个或多个相同类型的字符。
  • $ – 匹配字符串的结尾。