我有一个名为$_GET
的{{1}}变量,它只能包含数字。到目前为止,我设法制定其他规则,如果它是空的,强制页面等于1,或者它是否大于带错误信息的总页数,但我不能做的一件事就是这样做当用户键入字母而不是像page
这样的数字时;收到错误信息。
有什么建议吗?
答案 0 :(得分:5)
使用is_numeric
将允许十六进制数字滑过。要仅允许[0-9],您可以使用:
if (!ctype_digit($_GET['page'])) {
// Error message here.
}
请务必确保$_GET['page']
已设置。
答案 1 :(得分:1)
if(isset($_GET['page']) && preg_match('/^\d+$/', $_GET['page'])){
echo 'only numbers';
}
答案 2 :(得分:0)
您可以尝试:
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}