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

bla*_*d Ψ 0 php validation

我想验证给定的年份输入是否是特定格式.年份的格式应该是YYYYADYYYYBC(例如:) 2013AD- 4个数字和AD/BC之间没有任何空格.如果输入格式正确,则应返回true,否则返回false.(一些预期不正确格式; 123AD,XYZAD,AD2013,AD,2013,@123AD,2013ad).我怎样才能做到这一点?

提前致谢...YYYYAD

h2o*_*ooo 5

使用正则表达式,如/^\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!";
}
Run Code Online (Sandbox Code Playgroud)