0

フォームの電話番号フィールドで作業しています...

<label for="phone_no">Phone:</label>
<input name="phone_no" placeholder="(555)867-5309" type="tel" value="<?php print($_POST['phone_no']); ?>"/>

この数値を整数にしたいので、type="tel" を使用しています。データを「マスク」する (つまり、基になるデータを実際に変更せずにフォーマットして表示する) ことはできますか?

これにより、プログラムで変更して表示し、次に変更して解釈してデータベースに保存する必要がなくなります。

PS SSN フィールドにも同様のソリューションが必要になるため、電話番号でのみ機能するように、回答を具体的にしすぎないようにしてください。

4

1 に答える 1

1

率直に言って、これに対処する最も簡単な方法は、電話番号を文字列として受け入れ、サーバー側でアルファベット以外の文字を削除してからデータベースに格納することです。あなたが提案するように、クライアント側で対処しようとする価値があるのは、はるかに面倒です。

function remove_non_numeric($string) {
    return preg_replace('/\D/', '', $string)
}

次に、10 文字を持たない場合、またはデータの検証で正確にしたい場合は拒否できます。

表示するのもそれほど難しくありませんが、電話番号を文字列として扱うと簡単に表示できます。

お役に立てれば。

于 2012-04-18T07:19:16.927 に答える