作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试向输入日期字段添加功能,以便当用户输入数字时,会自动添加斜杠“/”。
假设我有以下 html:
<input type="text" id="fooDate" />
假设我有以下 javascript:
var dateField = document.getElementById("fooDate");
dateField.onkeyup = bar;
bar
应该是什么?
到目前为止最好的谷歌搜索结果是:
function bar(evt)
{
var v = this.value;
if (v.match(/^\d{2}$/) !== null) {
this.value = v + '/';
} else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
this.value = v + '/';
}
}
谢谢!
另外 -- 我知道在输入时输入斜杠很糟糕。随它去吧:p
最佳答案
更新/编辑:显然,当今广泛支持 HTML5 的最简单的解决方案是使用 <input type="date" name="yourName">
.
对于那些提示它不支持退格或粘贴的人,我修改了原来的:
//Put our input DOM element into a jQuery Object
var $jqDate = jQuery('input[name="jqueryDate"]');
//Bind keyup/keydown to the input
$jqDate.bind('keyup','keydown', function(e){
//To accomdate for backspacing, we detect which key was pressed - if backspace, do nothing:
if(e.which !== 8) {
var numChars = $jqDate.val().length;
if(numChars === 2 || numChars === 5){
var thisVal = $jqDate.val();
thisVal += '/';
$jqDate.val(thisVal);
}
}
});
`
工作 fiddle :https://jsfiddle.net/ChrisCoray/hLkjhsce/
关于javascript - 在日期字段中自动插入斜杠 '/' 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5005877/
我是一名优秀的程序员,十分优秀!