1

クラスの場合、電話番号に対して preg_match を実行する必要があります。番号は、この形式 (###) ###-#### に一致する必要があります。形式が正しくない場合は、ユーザーをフォームに送信して、番号を再度入力する必要があります。一致が見つかった場合は、フォームを通過させる必要があります。

私のインストラクターは私たちに次のように書いてもらいました:

$PhonePattern = "\(\d\d\d\) \d\d\d-\d\d\d\d";
if (!preg_match($PhonePattern, $Phone))
{
header('location:CreateAccount.htm');
exit();
}
else 
{
$Phone = $_GET['txtPhone'];
}

これは動作しません。次のように変更できますか:

if (!preg_match('/\(\d\d\d\) \d\d\d-\d\d\d\d/', $Phone))
{
header('location:CreateAccount.htm');
exit();
}
else 
{
$Phone = $_GET['txtPhone'];
}
4

1 に答える 1

1

以下は1つの方法です。

'/^\(\d{3}) \d{3}-\d{4}$/'

アンカー繰り返しを追加しました。そうでなければ、あなたは近くにいました。

正規表現の詳細をご覧ください。それらは動力工具です。しかし、大きな力には大きな責任が伴います。

于 2012-10-10T17:01:36.683 に答える