Javascript 如何在此扇区中添加分隔符?
我有这个样本: 代码HTML:Javascript 如何在此扇区中添加分隔符?,javascript,jquery,Javascript,Jquery,我有这个样本: 代码HTML: <input id="date_of_birth" type="text" value="23091992" maxlength="8"> $( "#date_of_birth" ).keyup(function() { var str=$(this).val(); var day_str=str.substring(0,2); var month_str=str.substring(2,3); console.lo
<input id="date_of_birth" type="text" value="23091992" maxlength="8">
$( "#date_of_birth" ).keyup(function() {
var str=$(this).val();
var day_str=str.substring(0,2);
var month_str=str.substring(2,3);
console.log(day_str);
console.log(month_str);
});
我有一个具有以下值的输入
23091992
运行脚本后,我想做的是,我的文本具有以下格式
23/09/1992
我试着分享我的两个强项并添加一个分隔符,但不幸的是我无法管理。。。
你能帮我解决这个问题吗
提前谢谢 你就快到了。但是,您可以使用:
<input type="date" />
片段
$(“出生日期”).keyup(函数(){
var str=$(this.val();
var day_str=str.substring(0,2);
var month_str=str.substring(2,4);
var year_str=str.substring(4,8);
console.log(day_str);
控制台日志(月);
控制台日志(年份);
if($(this).val().trim().length==8)
$(this).val(日+月+年);
});代码>
向上或向下按。触发键控。
当然,您应该使用日期选择器或一些js掩蔽输入,
但是检查这个
$("#date_of_birth").keyup(function() {
var t = $(this),
inpVal = t.val();
//clean from previous / slashes
inpVal = inpVal.replace(/\//g, '');
t.val(inpVal);
// check if 8 digits entered (2day, 2month, 4year)
if (inpVal.length == 8) {
var day_str = inpVal.substring(0, 2),
month_str = inpVal.substring(2, 4),
year_str = inpVal.substring(4),
formDate = day_str + "/" + month_str + "/" + year_str;
t.val(formDate);
}
});
您可以尝试以下方法:
假设
年份将始终为4位数
日期格式为DDMMYYYY
若日期+月份字符串长度为偶数,即2或4,则该值被等分李>
如果长度为3
,请检查最后两位数字是否为该字段使用datepicker?很抱歉,这是一个错误,请立即执行edit@Marius你核对我的答案了吗?
$("#date_of_birth").keyup(function() {
var t = $(this),
inpVal = t.val();
//clean from previous / slashes
inpVal = inpVal.replace(/\//g, '');
t.val(inpVal);
// check if 8 digits entered (2day, 2month, 4year)
if (inpVal.length == 8) {
var day_str = inpVal.substring(0, 2),
month_str = inpVal.substring(2, 4),
year_str = inpVal.substring(4),
formDate = day_str + "/" + month_str + "/" + year_str;
t.val(formDate);
}
});