验证整数
Validate integers
我想创建一个 php 文件来回显 'valid' 或 'invalid' 到文本输入。文本是一系列由 space 分隔的四个数字,例如 2 9 15 18
.文本将根据以下约束进行验证:
- 该系列必须包含四个分隔的数字。
- 每个数字都应该在 1 到 20 之间。
- 任何其他偏差都应产生无效响应,例如:
0 1 3 12 = 无效
一个数字超出范围。即零。
4 11 13 26 = 无效
一个数字超出范围。即二十六。
A 1 15 18 = 无效
系列中的一封信。
5 11 18 = 无效
系列中的三个整数
2 9 10 15 18 = 无效
太多的整数是系列
我写了一段代码,你可以看看。
基本要素是 is_int
、intval
和 explode
。截至目前,它只是 return 真或假,
但是你可以根据需要打印相应的信息。
function validNumber($num) {
return is_int($num) && $num > 0 && $num <= 20;
}
function validNumbers($string) {
$numbers = explode(" ",$string);
if(count($numbers) != 4) return false;
//check for unique values
if(count($numbers) != count(array_unique($numbers))) return false;
foreach($numbers as $number)
if(!validNumber(intval($number))) return false;
return true;
}
printf("<pre>%b</pre>", validNumbers("0 1 3 12")); // false
printf("<pre>%b</pre>", validNumbers("1 3 12")); // false
printf("<pre>%b</pre>", validNumbers("A 2 3 12")); // false
printf("<pre>%b</pre>", validNumbers("5 1 3 12")); // true
以 valid/invalid 作为输出的示例:
printf("<pre>%s</pre>", validNumbers("5 1 3 12") ? "valid" : "invalid");
我想创建一个 php 文件来回显 'valid' 或 'invalid' 到文本输入。文本是一系列由 space 分隔的四个数字,例如 2 9 15 18 .文本将根据以下约束进行验证:
- 该系列必须包含四个分隔的数字。
- 每个数字都应该在 1 到 20 之间。
- 任何其他偏差都应产生无效响应,例如:
0 1 3 12 = 无效 一个数字超出范围。即零。 4 11 13 26 = 无效 一个数字超出范围。即二十六。 A 1 15 18 = 无效 系列中的一封信。 5 11 18 = 无效 系列中的三个整数 2 9 10 15 18 = 无效 太多的整数是系列
我写了一段代码,你可以看看。
基本要素是 is_int
、intval
和 explode
。截至目前,它只是 return 真或假,
但是你可以根据需要打印相应的信息。
function validNumber($num) {
return is_int($num) && $num > 0 && $num <= 20;
}
function validNumbers($string) {
$numbers = explode(" ",$string);
if(count($numbers) != 4) return false;
//check for unique values
if(count($numbers) != count(array_unique($numbers))) return false;
foreach($numbers as $number)
if(!validNumber(intval($number))) return false;
return true;
}
printf("<pre>%b</pre>", validNumbers("0 1 3 12")); // false
printf("<pre>%b</pre>", validNumbers("1 3 12")); // false
printf("<pre>%b</pre>", validNumbers("A 2 3 12")); // false
printf("<pre>%b</pre>", validNumbers("5 1 3 12")); // true
以 valid/invalid 作为输出的示例:
printf("<pre>%s</pre>", validNumbers("5 1 3 12") ? "valid" : "invalid");