-1

「電話」入力も入力する必要があるサインアップフォームページを作成していますが、電話フィールドは8桁である必要があります!!! ユーザーが8桁以上または8桁未満の数字を入力すると、サインアップフォームはエラーを伝えます。

このようになるはずです... DBに接続した後

  $telephone=$_POST['telephone'];
  ... 
  .... 
  if(empty($telephone)){ // **i think i should write smth here???**
  echo  "phone number not set, and should be 8 digits!!" ;
  }
  else{

  /* Now we will write a query to insert user details into database */
  $insert_user=mysql_query("INSERT INTO login (telephone) VALUES ('$telephone')");

私は助けに感謝します:)ありがとう

4

3 に答える 3

0

テキスト入力フィールドの最大長を設定することができます。

<input maxlength="8">

使用する文字が少なくとも8つあることを確認します

if(strlen($telephone) != 8){ error.. }

さらに、使用できる文字ではなく数字のみを受け取ったことを確認するために

for($i=0; $i<8; $i++){
if{(ord($telephone[$i]>47)&&(ord$telephone[$i]<58)){ // its a number }
于 2013-02-07T16:26:13.367 に答える
0

まず第一に、すべての電話番号が正確に 8 桁というわけではありません。ですから、そこまで厳密に強制するべきではありません。

電話番号の賢明な検証については、このスレッドにいくつかの適切な回答があります:電話番号検証のための包括的な正規表現

個人的な注意として、製品コードでは複数の感嘆符を使用しないでください。「!!」を読む ユーザーや他の開発者にとっては、やや...動揺しています。

于 2013-02-07T16:07:25.537 に答える
0

入力が X 個の DIGITS のみであることを確認するには、次のようにします。

// replace everything that is not in the range 0-9
$telephone = preg_replace('/[^0-9]/', '', $telephone);
// now check the remaining length - for this example 8
if (strlen($telephone) != 8) {
    // throw your error code in here
} else { ...

それを念頭に置いて、電話番号に必要なのは 8 桁だけでよろしいですか? ハイフン、コンマ、括弧、数字ではなくなりました (米国/カナダの数字は 10 で、国際コードはカウントされません)。一部の国では、より長い/短い数字が使用されています。

しかし、あなたの質問に関しては、投稿されているように、上記の 2 つの手順で要件が満たされます。

于 2013-02-07T16:15:29.230 に答える