【问题标题】:Validation for float number in php在php中验证浮点数
【发布时间】:2015-07-14 04:15:30
【问题描述】:

如何验证是否只输入来自1.0 -5.0 的浮点数?我的系统现在可以接受:

  • 负浮点数
  • 负整数
  • +等符号,在数据库中不显示
  • a之类的字母,不显示在数据库中。

下面我有一些检查输入浮点数的代码。

保存libscores.php

if(isset($_POST['submit'])){

$value1=$_POST['s3'];
$value2=$_POST['s4'];
$value3=$_POST['year'];


if((filter_var($value1,FILTER_VALIDATE_FLOAT)&& $value1>0) && (filter_var($value2,FILTER_VALIDATE_FLOAT) && $value2>0)) {
echo 'TRUE.';

} else {
    echo 'FALSE.';
}

if(!empty($value1) && !empty($value2) && !empty($value3)){
    $sql=mysql_query("INSERT INTO `library`(s3,s4,year) VALUES ('".$value1."','".$value2."','".$value3."')")or die(mysql_error());
}
else{
    echo "Please fill all the fields. Please be sure to use float values also.";
}

}

【问题讨论】:

标签: php validation text field


【解决方案1】:

我从 PHP 的网站 http://php.net/manual/en/filter.examples.validation.phphttp://php.net/manual/en/filter.filters.validate.php 中提取了这个

if(isset($_POST['submit'])){

  $value1=$_POST['s3'];
  $value2=$_POST['s4'];
  $value3=$_POST['year'];
  $options = array(
    'options' => array(
                      'min_range' => -5,
                      'max_range' => 1,
                      )
   if(!empty($value1) && !empty($value2) && !empty($value3)){

    if((filter_var($value1,FILTER_VALIDATE_FLOAT,$options) && (filter_var($value2,FILTER_VALIDATE_FLOAT,$options))) 
      {
        echo 'TRUE.';
        $sql=mysql_query("INSERT INTO `library`(s3,s4,year) VALUES ('".$value1."','".$value2."','".$value3."')")or die(mysql_error());
      } else {
        echo 'Please be sure to use float values.';
      } 

} else {
    echo "Please fill all the fields. Please be sure to use float values also.";
}
}

【讨论】:

  • 为了让我的用户输入3.1 ,我必须打开代码并将例如$int_a = '1'; 更改为$int_a = '3.1';。没用
  • 嗯。好的。既然你问了。我还重新定义了 ifs 以使其更清晰。为什么要在验证后检查空变量。
  • @joegyoung 非常感谢!!!我很高兴,它不接受+ 符号。但它接受-3.1。我怎样才能阻止它?
  • 我没有粘贴整个答案。现在确实如此。我忘记了 $_POST 数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2020-03-16
  • 1970-01-01
相关资源
最近更新 更多