1

この入力の名の後に少なくとも数字が挿入されているかどうかを確認したいと思います。

したがって、ユーザーが「joe」と入力した場合、検証は行われませんが、「joed」または「joedoe」は合格します。

これはどのように行うことができますか?

$nome = $this->coalesce($form['nome']);
if (strlen($nome) > 0)
    $this->setValue('nome', strtoupper($nome));
else
    $this->addError('nome', 'Invalid name!');
4

2 に答える 2

2

これを行うには、正規表現を使用できます。

if( preg_match( '/\w+ \w+/', $name)) {
    echo "Validation passes!";
} else { 
    echo "Invalid input";
}

正規表現をに変更できます。これは、アルファベット文字(数字とアンダースコアを含む)以外にも一致するためです'/[A-Za-z]+ [A-Za-z]+/'\w

于 2012-05-08T19:53:42.540 に答える
0

次のようなものがそれを行う必要があります:

if(!preg_match('/[a-z]+\s+[a-z]+/i', $nome)) {
    $this->addError('nome', 'Invalid name!');
}

これにより、アルファベット文字列、スペース、別のアルファベット文字列で構成される名前が検証されます。

于 2012-05-08T19:53:34.603 に答える