Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html和php日期输入字段_Php_Regex - Fatal编程技术网

html和php日期输入字段

html和php日期输入字段,php,regex,Php,Regex,我在尝试找出如何为日期创建html输入框时遇到了问题,如下所示: YYYY-MM-DD 我想知道是否有比手动创建更好的方法 类似这样,然后使用-分隔符分隔YYYY-MM-DD 在用户输入出生日期后,我将使用regex进行一些验证,以确保它大于21 <label for="dob">Age (YYYY-MM-DD)</label> <input id="dateofbirth" type="text" name="age" maxlength="10"/><

我在尝试找出如何为日期创建html输入框时遇到了问题,如下所示:

YYYY-MM-DD

我想知道是否有比手动创建更好的方法 类似这样,然后使用-分隔符分隔YYYY-MM-DD

在用户输入出生日期后,我将使用regex进行一些验证,以确保它大于21

<label for="dob">Age (YYYY-MM-DD)</label>
<input id="dateofbirth" type="text" name="age" maxlength="10"/><span>*</span><br />
设置日期,使其仅接受21岁以上用户的输入。 目前没有。
$date='1974-12-03'

我会简单地使用一个

通过这种方式,您不必担心输入格式,您可以轻松地以单一格式输入日期,以便在javascript或PHP中执行验证(如果您将日期传递回服务器)。

我只需使用

通过这种方式,您不必担心输入格式,您可以轻松地以单一格式输入日期,以在javascript或PHP中执行验证(如果您将日期传递回服务器)

这将验证用户是否超过/等于21岁


这将验证用户是否超过/等于21岁

在完成此测试之前,我将验证strotime是否返回并且没有失败,以便您可以向用户提供适当的错误消息。如果($age=strotime($date)){if((date('Y',time())-date,那么最好验证post/get变量中的任何数据('Y',$age)>=21){return true;}else{return false;}else{echo'您的年龄输入似乎有问题';}很抱歉,这并没有真正实现,我编辑了我的主要帖子instead,在完成此测试之前,它将验证strottime是否返回并且没有失败,这样您就可以向用户提供适当的错误消息。正确的,最好是验证post/get变量中的任何数据。if($age=strottime($date)){if((date('Y',time())-date('Y',$age)>=21){return true;}else{return false;}else{echo'您的年龄输入似乎有问题;}很抱歉,结果不是这样,我改为编辑了我的主要帖子
return preg_match('/(\d{4})-(\d{2})-(\d{2})/', $date); 

if($age = strtotime($date)){ 
 if( ( date('Y',time()) - date('Y',$age ) >= 21 ){
  return true; 
 }else{ 
  return false; } 
}else{ 
 echo 'There seems to be something wrong with your age input'; 
}