使用php以html形式进行数字验证


Number validation in html form using php

我创建了一个表单,其中提交的金额类似

<label for="amt"<?php validateField( "amt", $Fieldsmissing ) ?>>Amt *</label><input type="number" name="amt" id="amt" min="1" value="<?php setValue( "amt" ) ?>" />

在表单的顶部,条件类似

function setValue( $fieldName ) { if ( isset( $_POST[$fieldName] ) && $_POST[$fieldName] > 0 ) { echo $_POST[$fieldName]; } }

提交后,如果我输入了0,它会显示错误,但如果我输入00或任何"-"符号或任何字母而不是0,它不会验证。

正如我所知,号码类型在Mozila、IE中有一个错误,但它在Chrome中运行良好,因为Chrome不接受任何低于1的输入。我想要的是,我想设置从0.1到最大正数(即99999(的输入值。除此之外,如果它输入任何其他内容,它将显示错误。谁能告诉我什么条件最适合我的状态吗。谢谢

这里给出了完整的源代码以供您理解,如果您能看看这里的

,将不胜感激

查看这些函数:

  • intval:返回var的整数值,使用指定的基数进行转换(默认值为基数10(。不应在对象上使用intval((,因为这样做会发出E_NOTICE级别的错误并返回1
  • filter_var:使用指定的筛选器筛选变量。(在您的情况下为FILTER_VALIDATE_INT
  • settype设置变量的类型。(整数(

所以,试试这个:

function setValue($fieldName)
{
   if (isset($_POST[$fieldName]))
   {
      $field = intval($_POST[$fieldname]);
   }
   // other magic
}