Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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_Validation - Fatal编程技术网

检查用户是否只输入数字,PHP

检查用户是否只输入数字,PHP,php,validation,Php,Validation,我在这片土地上 <p style="font-size: 18px;">Total Bids: <input type="text" class="total_bids" name="total_bids" placeholder="No. of Bids"></p> 并通过 $total_bids = PSF::requestGetPOST('totalbids'); 一切正常,但它应该只接受数字值,所以我试图检查用户是否只输入了一个数字,我如何定义字

我在这片土地上

 <p style="font-size: 18px;">Total Bids: <input type="text" class="total_bids" name="total_bids" placeholder="No. of Bids"></p>
并通过

$total_bids = PSF::requestGetPOST('totalbids');
一切正常,但它应该只接受数字值,所以我试图检查用户是否只输入了一个数字,我如何定义字母范围,以便我可以设置类似的检查

if( $total_bids== 'alphabet range')
        {
           return json_encode(array('error' => 'Please enter a valid Number.'));
        }

您可以使用正则表达式和\d表达式\d只匹配数字。

您可以使用正则表达式和\d表达式\d只匹配数字。

首先,您可以通过将其类型定义为type=number,禁止此人在中输入除数字以外的任何内容


显然,人们可以绕过它,因此您仍然需要在后端检查它,您需要使用这样的函数。

首先,您可以通过将其类型定义为type=number来禁止此人在中输入除数字以外的任何内容

很明显,人们可以绕过它,因此您仍然需要在后端检查它,您需要使用这样的函数。

您可以通过

此外,如果要执行任何特殊检查,可以通过使用regexp,例如:

if(!preg_match('~^[\d\.]$~', $total_bids))
{
    return json_encode(array('error' => 'Please enter a valid Number.'));
}
Regexp更灵活,您可以添加自己的规则以通过regexpm进行检查,但是数字检查比您可以通过Regexp检查更快

此外,如果要执行任何特殊检查,可以通过使用regexp,例如:

if(!preg_match('~^[\d\.]$~', $total_bids))
{
    return json_encode(array('error' => 'Please enter a valid Number.'));
}

Regexp更灵活,您可以添加自己的规则以通过regexpm进行检查,但根据您的输入,数字检查比Regexp检查快,如果您只需要数字,请尝试ctype\u digit:


请参见此处:

根据您的输入,如果您只需要数字,请尝试键入数字:


请参见此处:

如果是数值$numberOrLetters{…}???这里是你的答案:如果是数字$numberOrLetters{…}???下面是您的答案:这是一个糟糕的示例,因为ctype_digit43将返回false,它也只适用于strings@AntonOhorodnyk它应该是带引号的字符串。请参见示例,最好检查数字。关于您的信息,op的输入类型为文本。更好地使用此问题的数字这是一个糟糕的示例,由于ctype_digit43将返回false,因此它也仅适用于strings@AntonOhorodnyk它应该是字符串引用的。请参见示例,最好检查数字。关于您的信息,op的输入类型为文本。对于此问题,最好使用数字
if(!preg_match('~^[\d\.]$~', $total_bids))
{
    return json_encode(array('error' => 'Please enter a valid Number.'));
}
$strings = array('1820.20', '10002', 'wsl!12');//input with quotes is preferable.
foreach ($strings as $testcase) {
    if (ctype_digit($testcase)) {
        echo "The string $testcase consists of all digits.\n";
    } else {
        echo "The string $testcase does not consist of all digits.\n";
    }
}
if(preg_match ("/[^0-9]/", $total_bids)){ 
    return json_encode(array('error' => 'Please enter a valid Number.'));
}