有没有一种方法可以检查用户是否只使用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