如何在验证中允许非字母字符

时间:2013-02-10 05:31:23

标签: php cakephp

如何在我的cakephp项目中使用正则表达式,允许使用非字母字符,例如,'。:;“ 我的代码:

'alpha' => array(
    'rule' => '/^[a-z\s\-\']+$/i',
    'message' => 'Please limit to alphabetical and non-alphabetical characters.'
    );

感谢。

1 个答案:

答案 0 :(得分:3)

您的规则已允许某些非字母字符。它允许空格字符(空格字符),连字符(短划线字符)和撇号(单引号字符)。您所要做的就是添加到列表中:

'alpha' => array(
    'rule' => '/^[a-z\s\-\'\.,:;]+$/i',
    'message' => 'Please limit to alphabetical and non-alphabetical characters.'
);

不要忘记转义具有特殊含义的字符,例如句点字符.

请注意,此规则相当宽松。它将允许各种非常规输入,例如 -

  • ;;;;;;;;
  • --;;--::
  • ''. .''