2013-02-10 70 views
-4

我怎么能允许非alphabatic人物一样,“:;”使用正则表达式在我的CakePHP项目 我的代码:如何让非alphabatic字符验证

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

感谢

+0

您是否尝试过,包括他们在您的字符类(即方括号您的规则之间)? – phatfingers 2013-02-10 05:38:46

+2

您已经在该正则表达式中匹配了非单词字符。与'az'一起,你还允许空格,短划线字符'-'和单引号字符'''...你的消息也没有太大意义''限制字母和非字母“'.. – Lix 2013-02-10 05:42:16

回答

3

您的规则已允许使用某些非字母字符,它允许使用空格字符(空格字符),连字符(破折号字符)和撇号(单引号字符)。您只需添加到列表中:

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

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

请注意,这条规则很放松。它将使各种非正规输入,比如 -

  • ;;;;;;;;
  • --;;--::
  • ''. .''
+0

如何让所有的空间字符? @Lix – Shawon 2013-02-10 13:54:48

+0

@sha - \ s应该覆盖所有空白字符... – Lix 2013-02-10 14:20:49

+0

像<>?{} []!@#$%^&* @Lix – Shawon 2013-02-10 14:53:32