我想验证给定的年份输入是否是特定格式.年份的格式应该是YYYYAD或YYYYBC(例如:) 2013AD- 4个数字和AD/BC之间没有任何空格.如果输入格式正确,则应返回true,否则返回false.(一些预期不正确格式; 123AD,XYZAD,AD2013,AD,2013,@123AD,2013ad).我怎样才能做到这一点?
提前致谢...YYYYAD
使用正则表达式,如/^\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)