如何在CakePHP中使用空间正则表达式模型验证进行字母数字处理?

don*_*g d 0 php regex validation cakephp

我有一个用户注册表单,我只希望用户指定他们的名字和姓氏(即Donalg Doonsberry).如果用户没有以这种方式提供他们的名字,则输入将被拒绝.我认为这样的东西适用于我在cakephp中的正则表达式用户验证:

  'name'=>array('Name has to be comprised of letters.
                '=>array('rule'=>array('custom', '/[A-Za-z ]+/')
           )),
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 6

您必须小心验证名称......如何:

  • Donalg McDonald < - 资本中间的一个词
  • Donalg Fooble-Whiffery < - 连字符
  • DonalgDéénsbnérry-McDonald Sr. 3rd < - 你明白了

要以您指定的格式验证名称:

/[A-Z][a-z]+ [A-Z][a-z]+/
Run Code Online (Sandbox Code Playgroud)

更宽容一点:

/([\w.-]+ )+[\w+.-]/
Run Code Online (Sandbox Code Playgroud)

  • 您不应该 - 每次使用它时都应该正确地转义它 - 在SQL查询中(例如mysql_real_escape_string)或输出到页面(例如htmlspecialchars) (2认同)