我正在尝试进行日期输入,但不使用HTML5的日期格式选项。
所以我要说我的输入是
<input type="text" id="dateField" />
仅允许使用字符编号和“/
”
/
'(不使用输入type="date"
)
更新目的不是使用HTML5。
答案 0 :(得分:3)
您可以测试此代码
for (int j = 15; j >= 0; j--)
答案 1 :(得分:1)
您可以将HTML5 input pattern attribute与正则表达式一起使用:
<input type="text" id="dateField" pattern="[\d/]"/>
答案 2 :(得分:0)
您可以使用IE 11 +
中支持的输入模式<input type="text" pattern="\d{2}\/\d{2}\/\d{4}" />
如果仍然不是一个选项,你应该寻找一个javascript解决方案挂钩改变字段的值
var pattern = /\d{2}\/\d{2}\/\d{4}/;
document.querySelector("input").addEventListener("keyup", function(ev){
var value = ev.target.value;
if(!pattern.test(value){
//value of the field is not the one you are looking for
// handle this
}
})
答案 3 :(得分:0)
您可以尝试这样的操作来限制输入字段中允许的字符。你需要深入挖掘一下来限制实际的格式。
$('#date').on('input', function() {
this.value = this.value.replace(/[^0-9/]/g, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="date" maxlength="10" />
您可能还想考虑使用datepicker插件(例如jQuery UI Datepicker或类似)
答案 4 :(得分:0)
试试这个:
<input name="number" onkeyup="if (/[^\d/]/g.test(this.value)) this.value = this.value.replace(/[^\d/]/g,'')">