Javascript 钛Appcelerator-在文本字段中输入出生日期
我正在尝试格式化我的文本字段,用户将在其中输入他的出生日期 当前,当用户开始键入第三个字符时,我正在添加“/” 但当用户键入第二个字符时,我需要添加“/” 请在下面找到我的代码Javascript 钛Appcelerator-在文本字段中输入出生日期,javascript,android,ios,titanium-mobile,appcelerator-titanium,Javascript,Android,Ios,Titanium Mobile,Appcelerator Titanium,我正在尝试格式化我的文本字段,用户将在其中输入他的出生日期 当前,当用户开始键入第三个字符时,我正在添加“/” 但当用户键入第二个字符时,我需要添加“/” 请在下面找到我的代码 $.dobTextfield.addEventListener("change", function (event) { var dobValue = $.dobTextfield.value; dobValue = dobValue.replace(/\//g, ''); var newVal
$.dobTextfield.addEventListener("change", function (event) {
var dobValue = $.dobTextfield.value;
dobValue = dobValue.replace(/\//g, '');
var newVal = '';
var sizes = [2, 2, 4];
for (var i in sizes) {
if (dobValue.length > sizes[i]) {
newVal += dobValue.substr(0, sizes[i]) + '/';
dobValue = dobValue.substr(sizes[i]);
}
else
break;
}
newVal += dobValue;
$.dobTextfield.value = newVal;
});
建议:使用日期选择器 我建议您用标签替换textfield(如果这很重要的话,可以将其样式设置为类似于textfield) 然后,我会在标签上添加一个click事件,它将显示一个日期选择器。 您可以根据日期选择器的值更新标签的值 现有代码的解决方案
var-oldValue;
$.dobTextfield.addEventListener(“更改”,函数(事件){
变量dobValue=$.dobTextfield.value;
//这将检查用户是否删除了斜杠和退格
//如果没有此选项,用户将无法删除后台空间
如果(oldValue==dobValue+“/”){
返回;
}
var newVal='';
变量大小=[2,2,4];
if(dobValue.length==2 | | dobValue.length==5){
dobValue+=“/”;
}
$.dobTextfield.value=dobValue;
oldValue=$.dobTextfield.value;
});
这将在用户键入第二个字符时输入斜杠,如果用户需要编辑日期,还将允许用户使用退格删除斜杠
其他注意事项
当前文本字段允许用户输入无效日期。例如,用户可以输入日期,如60/99/2018。使用日期选择器将消除此类验证的需要