如何使用ctype_digit PHP检查文本框

时间:2015-11-15 21:04:59

标签: php

这是我的代码,我从文本框中获取变量但没有出现。

此代码检查输入是否为数字:

  

这是一个数字

与否:

  

这不是数字

$(".quantity").attr('data-id');

所有代码都在一页中。

3 个答案:

答案 0 :(得分:3)

您的代码失败,因为您有不带引号的元素/属性。

以下内容需要引用:

echo '<input type=text name=t/>';
                  ^^^^ ^^^^^^
echo'<input type=submit name=su/>';
                 ^^^^^^ ^^^^^^^

将您的代码修改为:

<?php
echo'<form method="post" action="">';
echo '<input type="text" name="t"/>';
echo'<input type="submit" name="su"/>';
echo'</form>';
if(isset($_POST['su']))
{
    if (ctype_digit($_POST['t'])) {
        echo "This is number.\n";
    } else {
        echo "This is not a number.\n";
    }
}
?>
  • 某些网络浏览器不会接受不带引号的元素/属性,只会被忽略,例如当前版本的Firefox,即使错误报告设置为catch / display,也足够奇怪,它们将无声地失败。

答案 1 :(得分:1)

您可以使用JS函数int测试数字。 PHP处理服务器,因此一旦页面加载,它就不可用。页面加载后可以使用Javascript。 JS是客户端,在浏览器上执行。这是一个js解决方案:

isNAN

这会提醒var test = 1; if(isNaN(test)) { alert('String'); } else { alert('number'); }

这是关于JS函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN的更长时间的写作。

答案 2 :(得分:0)

如果method中未定义<form>,则默认值为GET。所以

<form>

相同
<form method="GET">

如果您想使用$_POST,则需要执行

<form method="POST">