0
我试图格式化日期,因为用户通过给函数内部分配一个类来进入输入字段。我知道它的射击,但是在投入领域抛出[object]
是非常正确的。我的最终目标是为用户类型的前两个字符后,它会抛出一个/,然后另一/下两个后:01/01/2017
输入的jQuery格式日期
CODE:
$(document).off('keydown', '.dateField');
$(document).on('keydown', '.dateField', function(e){
var start = this.selectionStart,
end = this.selectionEnd;
if($(this).val().replace(/[^\d]/g,"").length<$(this).val().length)
end = end-1;
$(this).val($(this).toString().substr(0,2)+"/"+$(this).toString().substr(2));
this.setSelectionRange(start, end);
}
更新的代码:
$(document).on('keydown', '.dateField', function(e){
$(this).attr('maxlength', '10');
var key=String.fromCharCode(e.keyCode);
if(!(key>=0&&key<=9)){
$(this).val($(this).val().substr(0,$(this).val().length-1));
}
var value=$(this).val();
if(value.length==2||value.length==5){
$(this).val($(this).val()+'/');
}
这不防止字母和符号我如何添加正则表达式来防止此问题。 (在egex超级小白)
我想你想'缬氨酸()',你有'的toString(' - '$(本)的ToString()'不去获取日期字段的内容,这是你想要的。 –
@JacobMattison在每次按键时抛出一个“/”$(this).val($(this).val()。substr(0,2)+“/”+ $(this).val() .substr(2));' – Charles
[this]可能的重复(http://stackoverflow.com/questions/19709559/how-to-auto-format-textbox-inputs) – Jag