如何仅对数字输入进行验证

时间:2015-08-26 18:32:46

标签: php forms validation

我制作的表单只允许使用数字。我试图找出输入的逻辑来限制以1,2,3,4,5开头的数字。

这是我的php代码

$filename  = dirname(__FILE__).'/data.txt';
$room = $_GET['room'];
// store new message in the file
$msg = isset($_GET['msg']) ? $_GET['msg'] : '';
if ($msg != '')
{
  file_put_contents($filename,$msg);
  die();
}

// infinite loop until the data file is not modified
$lastmodif    = isset($_GET['timestamp']) ? $_GET['timestamp'] : 0;
$currentmodif = filemtime($filename);
while ($currentmodif <= $lastmodif) // check if the data file has been modified
{
  usleep(10000); // sleep 10ms to unload the CPU
  clearstatcache();
  $currentmodif = filemtime($filename);
}
// return a json array
$response = array();
$response['msg']       = file_get_contents($filename);
$response['room']      = $room;
$response['timestamp'] = $currentmodif;
echo json_encode($response);
flush();

2 个答案:

答案 0 :(得分:0)

我会建议这个正则表达式:

if(isset($_POST['value']) AND preg_match('/^[6-8]/', $_POST['value'])){
 // do whatever you want
}

正如我只知道您输入需要从6,7,8开始,这可能是最好的解决方案。

答案 1 :(得分:0)

你也可以这样做。我不知道这是否是一个很好的解决方案,但它应该有效。 if语句中的第一部分检查输入是否为整数,第二部分检查第一个数字是否为6,7或8。

Name