我找到了下面的代码,它会自动将'/‘添加到带有日期的输入中。我想知道是否有一种方法可以代替添加'/‘,我可以添加一个'-'?我不是很擅长使用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>
发布于 2018-10-21 07:08:38
这可能就是你要找的。我对你的原始代码做了以下调整:
maxlength使用变量调用“developers)
maxlength到输入中,这样用户添加的位数就不能超过日期应该添加到输入中的位数,这样用户就可以知道他们应该使用什么格式来搜索RegEx,而不是/<>F213
注意:我没有添加错误检查,以确保用户输入的“真实”日期(即"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" />
https://stackoverflow.com/questions/52910453
复制相似问题