這項工作?
$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++;
}
}
}
}
});
在本示例中,在結束後添加斜槓類型如下:'00000000 =在結束輸入=> 0000/00/00之後。確實可以在打字時添加斜線,而不是在結束輸入值8後添加斜線? –
Selena,更改了代碼,請現在查看。 –
這個改變不是我的意思,我不想在結束輸入值8後添加斜槓'/'。我想在輸入過程中加入斜槓(輸入時,不輸入)。這是你的樣本:http://jsfiddle.net/prL83/41/ –