Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 强制限制数字输入。_Php_Html_Css - Fatal编程技术网

Php 强制限制数字输入。

Php 强制限制数字输入。,php,html,css,Php,Html,Css,所以我有这个: <input name="data[Donation][amount]" value="0.00" step="any" maxlength="12" type="number" id="DonationAmount"> 我的问题是如何确保这个字段中没有负数?如果可能的话,我想确保它的背面和前端 谢谢。在客户端,您可以使用类似JavaScript的JavaScript进行测试 var num=123.45; $("#DonationAmount").val().

所以我有这个:

<input name="data[Donation][amount]" value="0.00" step="any" maxlength="12" type="number" id="DonationAmount">

我的问题是如何确保这个字段中没有负数?如果可能的话,我想确保它的背面和前端


谢谢。

在客户端,您可以使用类似JavaScript的JavaScript进行测试

var num=123.45;
$("#DonationAmount").val().match(/^[0-9.]+$/)
在服务器端,您可以进行如下检查

$num = "100";
if ( (int)$num == $num && (int)$num > 0 )

你可以使用最小值和最大值属性

<input type="number" min="0" max="10" />

允许用户选择介于0和10之间的数字

如果您的后端是用PHP构建的,您可以这样检查:

if($_POST["data"]["Donation"]["amount"] < 0) {
    return false;
}
if($_POST[“数据”][“捐赠”][“金额”]<0){
返回false;
}

在前端,您应该使用javascript来执行此操作

<script type="text/javascript">
function checknumber(val)
{
    if(val < 0)
    {
         alert('invalid value');
    }
}
</script>

<input name="data[Donation][amount]" value="0.00" step="any" maxlength="12" type="number" id="DonationAmount" onblur="checknumber(this.value)">

函数校验号(val)
{
if(val<0)
{
警报(“无效值”);
}
}
在服务器端,您可以这样做

<?php
    $Amount = $_POST["data"]["Donation"]["amount"];

    if($Amount < 0 || !is_numeric($Amount))
    {
        echo "Invalid value";
    }
?>

客户端:

$("#DonationAmount").keypress(function(event) {
  if ( event.which == 45 || event.which == 189 ) {
      event.preventDefault();
   }
});
这将确保文本字段中不能输入“-”符号

服务器端:

if($_POST["data"]["Donation"]["amount"] < 0) {
    return false;
}
if($_POST[“数据”][“捐赠”][“金额”]<0){
返回false;
}
HTML:

<input name="data[Donation][amount]" value="0.00" step="any" maxlength="12" min="0" type="number" id="DonationAmount">


您永远不会信任客户端。也要在服务器端验证…您尝试了什么?在你的情况下,什么是负数?在你的问题中,什么是非负数?$\u POST['buy']=6-10;像这样更改它,然后重试,删除qoutes,否则它会将其作为字符串。:)@验光师如何在输入类型为“数字”时插入6-10永远不要相信客户机@PrasanthBendraexactly@TheOptometrist我想你是对的,我改变了密码。。。