检查表格中的数字:奇数,偶数,奇数,偶数

时间:2016-01-15 13:25:28

标签: php validation numbers

我必须编写函数来检查浏览器输入数字的验证:

- >是数字
- >有6个字母
- >形式:奇数+偶数+奇数+偶数,......第一个字符可以是奇数或偶数。

例如:123456 =>真正; 234567 =>真

我写道:

function check_code($code){
    if (!is_numeric($code)) return false;
    if (strlen($code)<>6) return false;
    $c = str_split($code);
    if (($c[0]+$c[1])%2==1 && ($c[1]+$c[2])%2==1 && ($c[2]+$c[3])%2==1 && ($c[3]+$c[4])%2==1 && ($c[4]+$c[5])%2==1) return true;
    return false;
}

还有其他解决方案比上面的代码“更短更智能”吗?谢谢

1 个答案:

答案 0 :(得分:1)

您可以考虑使用模运算符将逻辑重写为for循环:

function check_code($code)
{
    if (!is_numeric($code)) return false;
    if (strlen($code)<>6) return false;
    $c = str_split($code);
    for ($i = 0; $i < count($c); $i++) {
        if (isset($c[$i + 1])) {
            if (($c[$i] + $c[$i + 1]) % 2 !== 1) {
                return false;
            }
        }
    }
    return true;
}