E.164形式で電話番号を検証していると思います。電話番号には、他の多くの形式を含めることができます。それも含めることができます.
。数字に複数のスペースがあることは珍しくありません。したがって、すべての数値を共通の形式にフォーマットし、そのフォーマットをdbに保存することをお勧めします。その一般的な形式が間違っていると、エラーが発生する可能性があります。
私はこれらの電話番号をこのように検証します。
function validate_phone($phone){
// replace anything non-digit and add + at beginning
$e164 = "+". preg_replace('/\D+/', '', $phone);
// check validity by length;
return (strlen($e164)>6 && strlen($e164)<21);
}
$e164
ここでは、有効な場合はDbに保存します。
その後も電話番号を確認することはできません。有効な電話番号の形式は、その有効な番号を意味するものではありません。このため、番号に対してSMSまたは通話が生成され、アクティベーションコードが送信されます。ユーザーがコードを入力すると、電話番号が完全に検証されます。