我找到了下面的代码,该代码自动将'/'添加到带有日期的输入中。我想知道是否有办法添加“ /”而不是添加“ /”?我对javascript不太满意,不胜感激。
<input id="dob" type="text" onkeyup="getAge()" />
<script type="text/javascript">
function getAge() {
document.getElementById("dob").value=document.getElementById("dob").value.replace(/^(\d\d)(\d)$/g,'$1/$2').replace(/^(\d\d\/\d\d)(\d+)$/g,'$1/$2').replace(/[^\d\/]/g,'');
</script>
答案 0 :(得分:1)
这可能是您要寻找的。我对您的原始代码进行了以下调整:
我没有添加错误检查以确保用户输入的“真实”日期(即“ 02-31-2018”)不会被捕获。
var dob = document.getElementById("dob");
dob.addEventListener("keydown", getAge);
function getAge() {
dob.value = dob.value.replace(/^(\d\d)(\d)$/g,"$1-$2").replace(/^(\d\d\-\d\d)(\d+)$/g,"$1-$2").replace(/[^\d\-]/g,'');
}
<input id="dob" maxlength="10" placeholder="mm-dd-yyyy" type="text" />