HTML フォームに入力したユーザーの詳細を確認するスクリプトを作成しようとしています。
コードは問題ありませんが、郵便番号をデータベースの内容とは異なる形式で入力するとエラーになることに気付きました。
POSTされた郵便番号を取得して形式を変更するだけですか?そうであれば、入力したものを1つの形式にする最良の方法は何ですか?
たとえば、データベースには郵便番号の行がありますSS9 5LY
が、誰かが入力した場合、SS95LY
またはss9 5ly
一致しません。
問題を解決するための何千ものアプローチがあります。
マスクされた入力を使用できます。RegularExpressionを使用してデータベースに送信する前に、入力テキストを検証できます 。そして他の多く。
preg_replace()
入力から不要な文字を削除し、すべてを大文字に変換し、最後に を使用して 3 番目の文字の後にスペースを追加するために使用できsubstr()
ます。
$postcode = preg_replace("/[^a-zA-Z0-9]+/", "", $postcode);
$postcode = strtoupper($postcode);
$postcode = substr($postcode, 0, 3) . ' ' . substr($postcode, 3);