我想创建一个php文件来回显'有效'或'无效'到文本输入。该文本是由空格分隔的一系列四个数字,例如2 9 15 18 。文本将根据以下限制进行验证:
0 1 3 12 =无效 一个数字超出范围。即零。 4 11 13 26 =无效 一个数字超出范围。即二十六。 A 1 15 18 =无效 系列中的一封信。 5 11 18 =无效 系列中的三个整数 2 9 10 15 18 =无效 系列中有太多整数
答案 0 :(得分:0)
我写了一段你可以看一下的代码。
要点是is_int
,intval
和explode
。截至目前它只是返回真或假,
但如果您愿意,可以根据支票打印相应的信息。
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
输出有效/无效的示例:
printf("<pre>%s</pre>", validNumbers("5 1 3 12") ? "valid" : "invalid");