1

ユーザーが賞金数を確認できるサイトを作成したいと考えており、PHP についても少し知っているので、html でフォームを作成しました。

<form>
    Enter your price bond number <input type="text" name="number"><br>
    <input type="submit" value="try your luck">
</form>

今phpで、それが単一の数値、範囲番号、またはコンマ区切りの数値であるかどうかを確認したいと思います。

1023342
1023342-10233100
1023342,1023343,1023344,1023345

ユーザーが入力した内容に基づいて、さまざまなアクションを実行したいと考えています。

4

5 に答える 5

0
function check_input($number){
  if(ctype_digit($number)){
   //case1: simple number
   return 1;
  }
  if(preg_match('/(\d)-(\d)/', $number, $out)){
   //Case2: range
   //we need to check if the range is valid or not
   if($out[1] >= $out[2]){
    //echo 'error: the first number in range should be lessthan second number';
    return false;
   }
   return 2;
  }
  if(preg_match('/\d+(,\d+)+/', $number, $out)){
   //Case3: comma seperated
   return 3;
  }
  return false;
}

//usage
if(check_input($number) == 1){
  //do something
}
于 2013-04-17T06:15:32.110 に答える
0

使用できます

strpos

このような

if (strpos($str,',') == true) {
     echo "it has comma";
} else if (strpos($str,'-') == true) {
    echo "it has hyphen";
} else {
     echo "single number";
 }

それぞれの機能を if 条件に入れるには、echo を置き換えます。

于 2013-04-17T05:48:21.717 に答える
0

次のようにします。

<?php
 $value=1023342;
 if (preg_match("-", $value)) {
     echo " - was found.";
  } else if(preg_match(",", $value)){
     echo " , was found";
  }
  else
  {
    echo "it is a simple number";
  }
?>
于 2013-04-17T05:48:59.163 に答える