更改为日期格式。

问题描述:

在这里(http://jsfiddle.net/prL83/)如何更改正常数字格式到日期格式?更改为日期格式。

键入日期从右到左dir="rtl"这种格式,YYYY/MM/DD

  1. 第一类型的天(DD
  2. SECEND键入月份(MM
  3. THRID输入年份(YYYY

    $( 'find_input')。代表(“input.numeric:text”,'keyup',function(){val {0} = $(this).val()。match(/ [0-9]/g).reverse()。join(“ ).match(/ [0-9] {1,3}/g).join(“,”)。match(/./g).reverse()。join(“”); $(this).val($ val) });

这项工作?

$dateSet = 0; 
$monthSet = 0; 
$yearSet = 0; 

$('.find_input').delegate("input.numeric:text", 'keyup', function() { 
    $val = $(this).val().replace(/[^\d]+/g, "").match(/\d{1,12}$/); 
    if($val == null) { 
     return; 
    } else { 
     $val = $val.join(""); 
    } 

    if($(this).val().match(/\d{4,}$/) && $val.length%2 == 0) { 
     $val = $val.match(/\d{2}/g); 
     if($yearSet < $monthSet) { 
      if($val.length == 4) { 
       $(this).val($val.join("").replace(/(\d{2})(\d{2})(\d{4})$/,'$3/$1/$2')); 
       $yearSet++; 
      } else if($val.length == 6){ 

       $(this).val($val.join("").replace(/(\d{4})(\d{2})(\d{2})(\d{4})$/,'$4/$2/$3')); 
       $yearSet++; 
      } 
     } else { 
      if($monthSet < $dateSet) { 
       $(this).val($val.join("").replace(/(\d{4})(\d{2})(\d{2})(\d{2})$/,'$1/$4/$3')); 
       $monthSet++; 
      } else { 

       if($val.length == 2) { 
         $(this).val($val.reverse().join("/")); 
        $dateSet++; 
        $monthSet++; 
       } else { 
         $(this).val($val.join("").replace(/(\d{4})(\d{2})(\d{2})(\d{2})$/,'$1/$2/$4')); 
        $dateSet++; 
       } 
      } 
     } 
    } 
}); 
+0

在本示例中,在结束后添加斜杠类型如下:'00000000 =在结束输入=> 0000/00/00之后。确实可以在打字时添加斜线,而不是在结束输入值8后添加斜线? –

+0

Selena,更改了代码,请现在查看。 –

+0

这个改变不是我的意思,我不想在结束输入值8后添加斜杠'/'。我想在输入过程中加入斜杠(输入时,不输入)。这是你的样本:http://jsfiddle.net/prL83/41/ –