Jquery 请勿更改输入的字符序列

Jquery 请勿更改输入的字符序列,jquery,html,Jquery,Html,我有一个html输入,它的值等于当前日期。我希望允许用户在输入中添加文本,但不删除日期。有人能帮我吗 这是我正在使用的代码 <input type="text" name="entryCode" id="entryCode" /> /* get current date */ var $now = new Date(); var $month = (($now.getMonth().length+1) === 1)? ($now.getMonth()+1) : '0' + ($n

我有一个html输入,它的值等于当前日期。我希望允许用户在输入中添加文本,但不删除日期。有人能帮我吗

这是我正在使用的代码

<input type="text" name="entryCode" id="entryCode" />

/* get current date */
var $now = new Date();
var $month = (($now.getMonth().length+1) === 1)? ($now.getMonth()+1) : '0' +  ($now.getMonth()+1);
var $day = $now.getDate()+"";if($day.length==1) $day="0" + $day;
var $year = $now.getFullYear();
$("#entryCode").val($year + $month + $day + "-");

/*获取当前日期*/
var$now=新日期();
变量$month=($now.getMonth().length+1)==1)?($now.getMonth()+1):“0”+($now.getMonth()+1);
var$day=$now.getDate()+“”;如果($day.length==1)$day=“0”+$day;
var$year=$now.getFullYear();
$(“#entryCode”).val($year+$month+$day+“-”);
输入的值是20140109-,我想允许用户在“-”之后输入,保持前9个字符不变


谢谢

将文本置于输入之外:

20140109-<input type="text" name="entryCode" id="entryCode" />
20140109-
然后将用户的输入添加到所需的前缀


您还可以使用此选项模拟带有固定前缀的输入。您可以检查值的长度并防止默认行为:

$("#entryCode").on('keydown', function(e){
    var kc = e.which || e.keyCode;
    if($(this).val().length <= 9 && kc == 8){
       e.preventDefault();
    }
});

复制和粘贴长度超过8个字符的文本将是一个问题这对backspace键有效,但我仍然可以在日期之间键入digits@Antegeia看看更新,如果你能这样做的话,它会帮助你。这是有史以来最简单的解决方案,我的大脑被堆积起来了…我怎么会错过呢???谢谢,伙计,这真的很有帮助。我将其更改为,和$(“#entryCodeDate”).text($year+$month+$day+“-”);。谢谢
<label>
    <input type="text" name="entryCode" id="entryCode" value='' />
</label>
var $now = new Date();
var $month = (($now.getMonth().length + 1) === 1) ? ($now.getMonth() + 1) : '0' + ($now.getMonth() + 1);
var $day = $now.getDate() + "";
if ($day.length == 1) $day = "0" + $day;
var $year = $now.getFullYear();
$("#entryCode").closest('label').prepend($year + $month + $day + "-").end().focus();