我现在正在尝试使用正则表达式,但它并没有按我想要的那样做。
这是用户名正则表达式验证:
var $validate = array(
'nom' => array(
'regex_nom' => array(
'rule' => '/^[A-Za-zÉÈÊËÜÛÎÔÄÏÖÄÇéèëêüûçîôâïöäa]+$/',
'message' => 'Nom incorrect.'
)
)
);
嗯,我认为不需要解释我想要的东西,但问题是,当我进入时,例如:Tesédsf它不匹配,我不知道为什么......
答案 0 :(得分:2)
您需要/u
修饰符来匹配UTF-8字符串。此外,Unicode属性似乎有效,因此您可以编写
'rule' => '/^\p{Alpha}+$/u',
答案 1 :(得分:2)
试试这个正则表达式/^\p{L}+$/u
。它以UTF-8字符串检查每种语言的单词。
答案 2 :(得分:0)
可能是编码问题。尝试:
'rule' => '/^\p{L&}+$/'