Html 输入带斜杠的格式化日期文本
如何将输入类型“文本”屏蔽为日期? 我希望它的格式为Html 输入带斜杠的格式化日期文本,html,Html,如何将输入类型“文本”屏蔽为日期? 我希望它的格式为dd-mm-yyyy,并且它将在您到达正确位置时添加斜杠,因此如果我键入30111970,它将自动在相应位置插入斜杠(当您键入时): 我目前正在使用模式,但我不知道如何添加斜杠。这是我的dd-mm-yyyy格式模式: (0[1-9]|1[0-9]|2[0-9]|3[01]).(0[1-9]|1[012]).[0-9]{4} 使用HTML5,您只需使用日期输入类型: <input type="date" name="somename" i
dd-mm-yyyy
,并且它将在您到达正确位置时添加斜杠,因此如果我键入30111970,它将自动在相应位置插入斜杠(当您键入时):
我目前正在使用模式,但我不知道如何添加斜杠。这是我的dd-mm-yyyy
格式模式:
(0[1-9]|1[0-9]|2[0-9]|3[01]).(0[1-9]|1[012]).[0-9]{4}
使用HTML5,您只需使用日期输入类型:
<input type="date" name="somename" id="someid">
或者,如果需要手动输入,您可以尝试以下操作,您必须执行向上键功能:
<input
type="text"
name="date"
placeholder="dd/mm/yyyy"
onkeyup="
var v = this.value;
var regex=/^[a-zA-Z]+$/;
if (!v.match(regex))
{
alert('Must input date or number');
return false;
}
if (v.match(/^\d{2}$/) !== null) {
this.value = v + '/';
} else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
this.value = v + '/';
}"
maxlength="10"
>
使用input type=“date”有什么问题?你不能更改格式我知道,但你不能设置输入类型date的格式,我希望它是dd-mm-yyyy,当你使用date时,它会根据浏览的内容设置格式,这几乎是完美的,但我如何将其与我的模式结合起来?或者至少,如何只允许数字,所以如果我尝试输入字符,它将不会显示。您也可以验证字符。我再次更新了我的答案。我正在后端进行验证,但我也想要一个好的UI。顺便说一句,我想你的意思是如果if(v.match(regex))
没有代码>。虽然这段代码破坏了脚本,但没关系,还有一件事:在你写了一次日期之后,所以你不能更改它,因为斜杠不会再出现
<input
type="text"
name="date"
placeholder="dd/mm/yyyy"
onkeyup="
var v = this.value;
var regex=/^[a-zA-Z]+$/;
if (!v.match(regex))
{
alert('Must input date or number');
return false;
}
if (v.match(/^\d{2}$/) !== null) {
this.value = v + '/';
} else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
this.value = v + '/';
}"
maxlength="10"
>