-3

我有一个$_GET名为的变量page,它只能包含数字。到目前为止,我设法制定了其他规则,例如它是否为空以强制页面等于 1,或者它是否大于页面总数以带来错误消息,但我不能做的一件事就是让它如此当用户键入字母而不是数字时,例如page=d:接收错误消息。

有什么建议么?

4

3 回答 3

6

使用is_numeric将允许十六进制数字通过。要仅允许 [0-9],您可以使用:

if (!ctype_digit($_GET['page'])) {
    // Error message here.
}

请记住还要确保$_GET['page']已设置。

于 2013-02-21T13:01:04.447 回答
1
if(isset($_GET['page']) && preg_match('/^\d+$/', $_GET['page'])){
    echo 'only numbers';
}
于 2013-02-21T12:59:44.757 回答
0

你可以试试 :

function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }
于 2013-02-21T13:22:07.340 回答