首页 > 解决方案 > android手动类型日期上的HTML日期选择器

问题描述

本机日期选择器:

<input type="date">

在 Android (Pixel 4a Android 11) 上不允许用户手动输入日期。无论我在字段中的哪个位置触摸都会弹出日期选择器小部件而不是键盘。

有没有办法允许通过键盘手动输入?

标签: androidhtmlcssandroid-11

解决方案


有没有办法允许通过键盘手动输入?

目前,没有。

但是,您可以使用模式 + minlenght + maxlength:

日期的模式在这里解释,你在regex101中尝试正则表达式

var custom_input_date = document.getElementById('customInputDate');
custom_input_date.oninput = function(event){event.target.setCustomValidity('');}
custom_input_date.oninvalid = function(event) { event.target.setCustomValidity('Use a valid format: dd/mm/yyyy'); }
<form>
<input id="customInputDate" type="text" pattern="^(?:(?:31(\/)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/)(?:0[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/)02\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0[1-9]|1\d|2[0-8])(\/)(?:(?:0[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$" maxlength="10" minlength="10" autocomplete="off" placeholder="dd/mm/YYYY" required>
<input type="submit">
</form>


推荐阅读