我正在尝试创建一个日期正则表达式验证器。我的问题是,我正在使用一个"日期"
类型的输入字段,在Chrome中运作得非常好;它在Chrome中打开类似于日历的界面,但在其他浏览器中却没有反应,因此我决定手动输入日期。
这是我抛出错误的信息(我正在寻找YYYY-MM-DD格式):
$date_regex ='#^(19|20)\d\d[\- /.](0[1-9]|1[012])[\- /.](0[1-9]|[12][0-9]|3[01])$#';
$hiredate = $_POST['hiredate'];
if (!preg_match($date_regex, $hiredate)){
$errors[] = 'Your hire date entry does not match the YYYY-MM-DD required format.';
}
我知道这方面已经有很多例子了,但是我已经尝试了大概20个例子,却仍然无法解决问题。也许我漏掉了什么。
如果有必要的话,这是输入字段:
<input type="date" name="hiredate" />
<input>
框是否更容易?您可以为每个输入框添加侦听器,以在用户“按下”2个数字时进入下一个输入框。对于用户而言,他们并不关心您需要哪种格式,如果不是他们个人的本地格式,最好不要引起他们的沮丧。 - MonkeyZeus