2012-05-08 2 views
1

この入力に最初の名前の後に少なくとも数字が挿入されているかどうか確認したいと思います。変数に名前と少なくとも姓からの数字が含まれているかどうかを調べる

したがって、ユーザーが「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!'); 

答えて

2

あなたがこれを行うには正規表現を使用することができます。

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

\wはちょうどアルファベット文字以上にマッチしますので、あなたは(それが数字とアンダースコアが含まれます)、'/[A-Za-z]+ [A-Za-z]+/'に正規表現を変更することができます。

+0

ありがとうございました! –

0

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

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

これは、別のアルファベットの文字列のスペースが続くアルファベット文字の文字列で構成名を検証します。