我制作的表单只允许使用数字。我试图找出输入的逻辑来限制以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();
答案 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