作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
javascript 或 jQuery 中是否有一种方法可以在为键输入和复制粘贴到文本框键入日期时动态检测和更改?
我正在尝试创建一个功能性文本框,其中包含两位数字,例如月份。
由于月份可以是 1 到 12 之间的数字,我想强制第一个数字为 1 或 0。
然而,我尝试做的技巧是当文本框首先获得焦点并且用户开始输入数字时,如果该数字是 2 - 9 我想要一个零自动填充第一个位置然后但是第二个位置的 9。
在我输入任何内容之前,这个日期输入应该是这样的:
__/__/_____
如果我输入“1”
1_/__/_____
如果我输入“2”应该得到
02/__/_____
如果我输入“22”应该得到
02/2_/_____
如果我输入“77”应该得到
07/07/_____
我对包含代码的答案或指向已经执行此操作的工具的链接或指向上一篇文章的链接非常感兴趣?
最终我想把它放在一个掩码中,这样 7/7/2011 或 7/7/11 或 07/07/2011 将始终填充到 07/07/2011。在最终版本中,我试图让年份默认为当前十年,但下降到每 10 年++ --。
最佳答案
为什么不将监听器附加到模糊的文本框,而不是附加到用户的输入。
想一想用户体验,如果您正在输入“1”,然后突然之间,输入开始在您正在做的事情上添加或删除零,而您正在做这件事?
var dayInput = document.getElementById("day-input");
// usually, I'd just use event-listeners, but feel free to refactor
dayInput.onblur = handleDayOrMonth;
function handleDayOrMonth () {
var el = (this === window) ? event.srcElement : this,
number_string = el.value;
// checking that it's an actual number
if (!isNaN(parseInt(number_string)) {
if (number_string.length === 1) { el.value = "0" + number_string; }
}
}
处理年份的方式与此相同,只是您要在年份的开头添加“20”。
随意使用 jQuery 吧。
关于javascript - 插入日期时动态智能日期掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566560/
我是一名优秀的程序员,十分优秀!