日付フィールドを「検証」しようとしています。許可したいのは、数字と - 文字だけです。
$born_date=$_POST['date'];
$goodchars = array("1","2","3","4","5","6","7","8","9","0","-");
$char_re_good = '/['.preg_quote(join('', $goodchars), '/').']/';
if (!(preg_match($char_re_good, $born_date))) {
echo "not ok, contain INVALID chars"
}else{
echo "ok, contain valid chars"
}
「1960」で検索してみたらOK。「asdfg」を検索しようとしても、OK ではありません。しかし、「1960/」を検索すると、出力は問題ありません。理由がわかりません。
ユーザーがフィールドに「0-9」と「-」の文字のみを入力しているかどうかを確認するように変更するのを手伝ってくれませんか。
ありがとうございました