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