这里是我用于最少3个字符检查的简单代码。 如果查询是完全数字的(如果查询的个案ID少于3个字符,代码也有一个选项),我想做一个例外。搜索过滤器:最少字符数
<?php
if (strlen($_POST['Search'])>=3) {
include 'search.php';
} else {
$message = '3+ characters, please';
}
?>
感谢您的帮助:)
这里是我用于最少3个字符检查的简单代码。 如果查询是完全数字的(如果查询的个案ID少于3个字符,代码也有一个选项),我想做一个例外。搜索过滤器:最少字符数
<?php
if (strlen($_POST['Search'])>=3) {
include 'search.php';
} else {
$message = '3+ characters, please';
}
?>
感谢您的帮助:)
你应该写这样的事:
// make sure no notices are emitted if the input is not as expected
$search = isset($_POST['Search']) ? $_POST['Search'] : null;
if (!ctype_digit($search)) {
// it's all digits
}
else if (strlen($search) < 3) {
// error: less than three characters
}
else {
// default case
}
随意合并分支是默认情况下,“所有数字”的情况下应转发到相同的代码。
重要:使用只ctype_digit
检查,如果输入的是所有数字。 is_numeric
将返回true
对输入的其他类型还有:
数字字符串由可选的符号,任意数量的数字, 可选的小数部分和可选的指数部分。因此+ 0123.45e6 是一个有效的数值。十六进制符号(0xFF)也是允许的 但只有符号,小数和指数部分。
如果我理解正确的话:
<?php
if (is_numeric($_POST['Search']) || strlen($_POST['Search'])>=3) {
?>
使用此:
if (strlen($_POST['Search'])>=3 ||is_numeric($_POST['Search'])) {
//Do stuff
} else
//do other stuff