我不知道如何處理這個問題,我試過什麼對我來說是最明顯的解決方案,但到目前爲止沒有任何證據表明它完全令人滿意。我必須俯視一些非常簡單的事情。如何在PHP中驗證未簽名的數字?
我有一個文本類型的輸入形式:
<input type="text" name="album_id">
我想驗證輸入,因此用戶只能進入無符號整數...
$required = array(); // required or invalid input
$tmp = trim($_POST['album_id']);
if (!is_int((int)$tmp)) {
$required['album'] = 'The album id must contain a positive numeric value only.';
}
到目前爲止我使用!is_numeric($tmp)
但用戶可以輸入9.2或'1e4',它會驗證...所以一個不起作用。
我也試過!is_int((int)$tmp)
但由於某種原因,那一個不工作(也許它應該,但我做錯了......)。 我試過ctype_digit
沒有成功。 我可能忽略了一些東西,但不知道是什麼。
如何驗證在php中的無符號數字?沒有浮點數,負數等...只有一個簡單的無符號數(1到n)。
確實......我已經把NOT這個符號放在這裏!ctype_digit($ tmp),它似乎可以正常工作!當它顯示$ integer = 42時,我認爲文檔讓我失望; //假我忘記輸入是一個字符串默認情況下不是一個整數....謝謝 – Marco 2011-04-03 10:40:59
那麼,很高興我能幫助:-) – 2011-04-03 10:43:11