我想检查在此输入中的名字之后是否至少插入了一个数字。
因此,如果用户输入“joe”,它不会验证,但“joe d”或“joe doe”它会通过。
如何才能做到这一点?
$nome = $this->coalesce($form['nome']);
if (strlen($nome) > 0)
$this->setValue('nome', strtoupper($nome));
else
$this->addError('nome', 'Invalid name!');
我想检查在此输入中的名字之后是否至少插入了一个数字。
因此,如果用户输入“joe”,它不会验证,但“joe d”或“joe doe”它会通过。
如何才能做到这一点?
$nome = $this->coalesce($form['nome']);
if (strlen($nome) > 0)
$this->setValue('nome', strtoupper($nome));
else
$this->addError('nome', 'Invalid name!');
您可以使用正则表达式来执行此操作:
if( preg_match( '/\w+ \w+/', $name)) {
echo "Validation passes!";
} else {
echo "Invalid input";
}
您可以将正则表达式更改为'/[A-Za-z]+ [A-Za-z]+/'
,因为\w
将匹配的不仅仅是字母字符(它包括数字和下划线)。
应该这样做:
if(!preg_match('/[a-z]+\s+[a-z]+/i', $nome)) {
$this->addError('nome', 'Invalid name!');
}
这将验证由一串字母字符组成的名称,后跟一个空格,然后是另一个字母字符串。