Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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
Php 数组更改输入,例如A更改为B_Php_Regex_Forms_Validation_Input - Fatal编程技术网

Php 数组更改输入,例如A更改为B

Php 数组更改输入,例如A更改为B,php,regex,forms,validation,input,Php,Regex,Forms,Validation,Input,问:我有一个表单,它包含数组,可以将数据发送到excel,但我需要将它们放入表单中的时间设置为:,而不是,有没有办法像这样检查数组 如果$time=00.00像那样更改为00:00,我可以这样做吗 如果没有,是否有办法锁定输入表单的格式,使其只接受00:00,如果他们输入00.00,他们会得到一些错误信息 编辑: 我有一个清单,但如果他们不使用它 <input list="start" name="start[]" value="" class="listbox" /> <d

问:我有一个表单,它包含数组,可以将数据发送到excel,但我需要将它们放入表单中的时间设置为
,而不是
,有没有办法像这样检查数组

如果
$time
=
00.00
像那样更改为
00:00
,我可以这样做吗

如果没有,是否有办法锁定输入表单的格式,使其只接受
00:00
,如果他们输入
00.00
,他们会得到一些错误信息

编辑: 我有一个清单,但如果他们不使用它

<input list="start" name="start[]" value="" class="listbox" /> 
<datalist id="start">
<option value="08:00"/> 
<option value="08:30"/> 
</datalist>

您可以使用HTML5
模式来确认输入符合您的要求

pattern="^\d+:\d+$"
这要求字段以数字开头,冒号,然后以数字结尾。您还应该有一个验证服务器端,以防有人绕过检查,或正在使用旧浏览器

if(!preg_match('/^\d+:\d+$/', $_POST['field'])) {
      echo 'Invalid input';
}
正则表达式演示:

另一个客户端选项是使用
选择
代替
数据列表
输入
,这将不允许他们输入更改时间

<select name="start[]" class="listbox"> 
     <option value="08:00">08:00</option> 
     <option value="08:30">08:30</option> 
</select>

08:00 
08:30