Javascript 输入时的jQuery格式日期
我试图在用户进入输入字段时设置日期的格式,方法是在函数中为其指定一个类。我知道它在发射,但有些东西是正确的,它在输入字段中抛出了Javascript 输入时的jQuery格式日期,javascript,jquery,html,Javascript,Jquery,Html,我试图在用户进入输入字段时设置日期的格式,方法是在函数中为其指定一个类。我知道它在发射,但有些东西是正确的,它在输入字段中抛出了[object]。我的最终目标是,当用户键入时,它将在前两个字符后抛出一个/,然后在下两个字符后抛出另一个/:01/01/2017 代码: $(document.off('keydown','.dateField'); $(文档).on('keydown','.dateField',函数(e){ var start=this.selectionStart, end=th
[object]
。我的最终目标是,当用户键入时,它将在前两个字符后抛出一个/,然后在下两个字符后抛出另一个/:01/01/2017
代码:
$(document.off('keydown','.dateField');
$(文档).on('keydown','.dateField',函数(e){
var start=this.selectionStart,
end=this.selectionEnd;
如果($(this).val().replace(/[^\d]/g,”).length=0&&key最终代码:
$(document).off('keydown', '.dateField');
$(document).on('keydown', '.dateField', function(e){
$(this).attr('maxlength', '10');
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
var value=$(this).val();
if(value.length==2||value.length==5){
$(this).val($(this).val()+'/');
}
}
$(document.off('keydown','.dateField');
$(文档).on('keydown','.dateField',函数(e){
$(this.attr('maxlength','10');
如果($.inArray(例如,keyCode[46,8,9,27,13,110,190])!=-1||
//允许:Ctrl+A、Command+A
(e.keyCode==65&&(e.ctrlKey==true | | e.metaKey==true))||
//允许:起始、结束、左、右、下、上
(e.keyCode>=35&&e.keyCode最终代码:
$(document).off('keydown', '.dateField');
$(document).on('keydown', '.dateField', function(e){
$(this).attr('maxlength', '10');
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
var value=$(this).val();
if(value.length==2||value.length==5){
$(this).val($(this).val()+'/');
}
}
$(document.off('keydown','.dateField');
$(文档).on('keydown','.dateField',函数(e){
$(this.attr('maxlength','10');
如果($.inArray(例如,keyCode[46,8,9,27,13,110,190])!=-1||
//允许:Ctrl+A、Command+A
(e.keyCode==65&&(e.ctrlKey==true | | e.metaKey==true))||
//允许:起始、结束、左、右、下、上
(e.keyCode>=35&&e.keyCode我想你想要val()
在你有toString()
-$(这个)。toString()
不会得到你想要的日期字段的内容。@JacobMattison在每次按下$(这个).val($(这个).val().substr(0,2)+“/”+$(这个).val().substr 2))
可能重复的@JAG谢谢!请回答这个问题,这样我就可以给你我想你想要的val()
的可能重复的地方toString()
--$(这个)。toString()
不会得到日期字段的内容,这是你想要的。@JacobMattison这是在抛出一个“/”每次按键时,$(this).val($(this).val().substr(0,2)+“/”+$(this.val().substr(2));
可能重复的@JAG谢谢!请回答问题,这样我可以给你可能重复的
$(document).off('keydown', '.dateField');
$(document).on('keydown', '.dateField', function(e){
$(this).attr('maxlength', '10');
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
var value=$(this).val();
if(value.length==2||value.length==5){
$(this).val($(this).val()+'/');
}
}