Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 输入时的jQuery格式日期_Javascript_Jquery_Html - Fatal编程技术网

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()+'/');
        }
}