指定された年の入力が特定の形式であるかどうかを検証したいと思います。年の形式は、YYYYAD
またはYYYYBC
(例: 2013AD
) - 4 つの数字と AD/BC の間にスペースを入れないでください。
入力が正しい形式の場合は true を返し、そうでない場合は false を返します。(予想される不適切な形式の一部123AD
は、、、、、、、、XYZAD
です) 。どうすればこれを達成できますか?AD2013
AD
2013
@123AD
2013ad
指定された年の入力が特定の形式であるかどうかを検証したいと思います。年の形式は、YYYYAD
またはYYYYBC
(例: 2013AD
) - 4 つの数字と AD/BC の間にスペースを入れないでください。
入力が正しい形式の場合は true を返し、そうでない場合は false を返します。(予想される不適切な形式の一部123AD
は、、、、、、、、XYZAD
です) 。どうすればこれを達成できますか?AD2013
AD
2013
@123AD
2013ad
などの正規表現を使用し/^\d{4}(AD|BC)$/
ます。
正規表現の説明:
^
- 文字列の開始\d{4}
- 正確に 4 回繰り返される 0 から 9 までの数字(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!";
}
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)/