Javascript 自动添加'/';约会
我找到了下面的代码,它会自动将“/”添加到带有日期的输入中。我想知道是否有一种方法可以不加一个“/”而加一个“-”?我不太擅长javascript,如果有任何帮助,我将不胜感激Javascript 自动添加'/';约会,javascript,date,Javascript,Date,我找到了下面的代码,它会自动将“/”添加到带有日期的输入中。我想知道是否有一种方法可以不加一个“/”而加一个“-”?我不太擅长javascript,如果有任何帮助,我将不胜感激 函数getAge(){ document.getElementById(“dob”).value=document.getElementById(“dob”).value.replace(/^(\d\d)(\d)$/g,$1/$2')。replace(/^(\d\d\/\d)(\d+)/g,$1/$2')。repla
函数getAge(){
document.getElementById(“dob”).value=document.getElementById(“dob”).value.replace(/^(\d\d)(\d)$/g,$1/$2')。replace(/^(\d\d\/\d)(\d+)/g,$1/$2')。replace(/[^\d\/]/g');
这可能就是您想要的。我对您的原始代码进行了以下调整:
- 使用变量调用“dob”元素以保存代码行
- 添加了事件侦听器,因为这比在HTML中声明它更可取(高级开发人员如是说)
- 将“keyup”事件更改为“keydown”,因为我认为它更可靠
- 将maxlength添加到输入中,以便用户添加的数字不能超过日期应有的数字
- 在输入中添加占位符,以便用户知道他们应该能够输入什么格式
- 将正则表达式更改为搜索-而不是/
var-dob=document.getElementById(“dob”);
dob.addEventListener(“键控”,getAge);
函数getAge(){
dob.value=dob.value.replace(/^(\d\d)(\d)$/g,“$1-$2”)。replace(/^(\d\d\-\d\d)(\d+)$/g,“$1-$2”)。replace(/[^\d\-]/g,”);
}
非常感谢!我如何对日期进行错误检查?这不是特别有用。如果我键入“01-01-2018”,然后将光标放在年初(使用光标键或指针),然后按两次delete,我会得到“01-01-201”光标在年底时。我确信还有许多其他情况下它会出现错误,例如,如果我粘贴一个值,也可能会删除所有的破折号,并且没有添加破折号。如何使其更具功能