首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动将'/‘添加到日期的Javascript输入

自动将'/‘添加到日期的Javascript输入
EN

Stack Overflow用户
提问于 2018-10-21 05:56:52
回答 1查看 180关注 0票数 -2

我找到了下面的代码,它会自动将'/‘添加到带有日期的输入中。我想知道是否有一种方法可以代替添加'/‘,我可以添加一个'-'?我不是很擅长使用javascript,如果有任何帮助我将不胜感激。

代码语言: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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-21 07:08:38

这可能就是你要找的。我对你的原始代码做了以下调整:

maxlength使用变量调用“developers)

  • changed”元素来节省代码行,并添加了事件侦听器,因为这比在您的HTML中声明它更可取(因此,假设奇特的enter

  • changed“”事件为“RegEx”,因为我认为它更可靠
  • 添加了

maxlength到输入中,这样用户添加的位数就不能超过日期应该添加到输入中的位数,这样用户就可以知道他们应该使用什么格式来搜索RegEx,而不是/<>F213

注意:我没有添加错误检查,以确保用户输入的“真实”日期(即"02-31-2018")不会被捕获。

代码语言:javascript
复制
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,'');
}
代码语言:javascript
复制
<input id="dob" maxlength="10" placeholder="mm-dd-yyyy" type="text" />

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52910453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档