代码之家  ›  专栏  ›  技术社区  ›  Alfred redcoder

使用PHP进行简单的年份格式验证

  •  0
  • Alfred redcoder  · 技术社区  · 13 年前

    我想验证给定年份的输入是否为特定格式。年份的格式应该如下 YYYYAD 或 YYYYBC (例如: 2013AD )-4个数字和AD/BC之间没有任何空格。

    如果输入的格式正确,则应返回true,否则应返回false。(一些预期的不正确格式是; 123AD , XYZAD , AD2013 , AD , 2013 , @123AD , 2013ad ). 我如何才能做到这一点?

    2 回复  |  直到 7 年前
        1
  •  5
  •   h2ooooooo    13 年前

    使用正则表达式,例如 /^\d{4}(AD|BC)$/ .

    正则表达式的解释 :

    • ^ -字符串的开头
    • \d{4} -从0到9的数字正好重复了4次
    • (AD|BC) -一组字符串“ AD “或字符串” BC "
    • $ -字符串的末尾

    密码 :

    $input = "2013BC";
    if (preg_match("/^(\d{4})(AD|BC)$/", $input, $matches)) {
        echo "OK.\n";
        echo "Year: " . $matches[1] . "\n";
        echo "AC/BC: " . $matches[2];
    } else {
        echo "NOT OK!";
    }
    
        2
  •  0
  •   Praveen Kumar Purushothaman    13 年前
    function check($year)
    {
      if (is_numeric(substr($year, 0, 4)) && in_array(array("AD", "BC"), substr($year, 4,6)))
        return true;
      return false;
    }
    

    或者使用REGEX,您可以检查 /d{4}(AD|BC)/