有沒有一種方法可以檢查用戶是否只使用PHP輸入4個數字而不是4個字母?如果是這樣如何?PHP驗證問題
Q
PHP驗證問題
1
A
回答
4
if (strlen($s) == 4 && ctype_digit($s)) {
// ...
}
2
或者你也可以這樣做:
if(preg_match('/^\d{4}$/',$input)) {
// valid input
} else {
// invalid input.
}
2
ctype_digit將無法工作已經類型強制轉換爲整數/浮點型的用戶輸入。正則表達式很慢 - 所以只有在需要時才使用它。因此,考慮到這一點我會做類似
$s = (string) $_POST['value'];
if(strlen($s) === 4 AND ctype_digit($s))
{
// Now that it's verified as a good value
// convert to int for the rest of the script
$value = (int) $s;
}
這也將保護您免受傳遞數組到您的字符串檢查的用戶。
1
Filters可能是一個有效的選擇,儘管有些冗長。它們允許你像規則一樣表達你的驗證規則,這是很好的:
$isValid = filter_input(
INPUT_POST,
'varname',
FILTER_VALIDATE_INT,
array('options' => array('min_range' => 1000, 'max_range' => 9999))
);
相關問題
- 1. PHP驗證問題
- 2. PHP驗證問題
- 3. PHP表單驗證問題
- 4. JQuery和PHP驗證問題?
- 5. 登錄問題驗證PHP
- 6. 問題驗證鏈接-php
- 7. PHP tinymce,驗證問題
- 8. PHP FONT_SIZE驗證碼問題
- 9. PHP和MySQL驗證問題
- 10. PHP表單驗證問題?
- 11. php驗證腳本問題
- 12. 驗證碼和標題有問題(PHP)
- 13. 驗證碼驗證問題
- 14. 驗證問題
- 15. 驗證問題
- 16. 驗證問題
- 17. 驗證問題
- 18. 驗證問題
- 19. 驗證問題?
- 20. 驗證問題
- 21. PHP表單驗證提交問題?
- 22. PHP表單驗證重播問題
- 23. PHP表單數據驗證問題
- 24. 問題與蛋糕PHP移動驗證
- 25. php/mysql表單驗證問題
- 26. 用PHP驗證表格的問題
- 27. php mysql身份驗證問題
- 28. 問題驗證YouTube網址用PHP
- 29. PHP curl身份驗證問題
- 30. 蛋糕php驗證碼問題
+1對於大量未被使用的'ctype'函數! :) – deceze 2010-09-24 02:55:15