验证整数

时间:2015-02-15 15:29:44

标签: validation integer

我想创建一个php文件来回显'有效'或'无效'到文本输入。该文本是由空格分隔的一系列四个数字,例如2 9 15 18 。文本将根据以下限制进行验证:

  1. 该系列必须包含四个分开的数字。
  2. 每个数字应介于1到20之间。
  3. 任何其他分歧都应产生无效的响应,例如:
  4. 0 1 3 12 =无效   一个数字超出范围。即零。 4 11 13 26 =无效  一个数字超出范围。即二十六。 A 1 15 18 =无效  系列中的一封信。 5 11 18 =无效 系列中的三个整数 2 9 10 15 18 =无效 系列中有太多整数

1 个答案:

答案 0 :(得分:0)

我写了一段你可以看一下的代码。 要点是is_intintvalexplode。截至目前它只是返回真或假, 但如果您愿意,可以根据支票打印相应的信息。

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");