我正在尝试添加输入日期字段的功能,以便用户输入数字时,斜线“/”会自动添加.
所以假设我有以下html:
- <input type="text" id="fooDate" />
并假设我有以下javascript:
- var dateField = document.getElementById("fooDate");
- dateField.onkeyup = 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);
- }
- }
- });
`