javascript – 在日期字段中自动插入斜杠“/”的最佳方式是什么?

前端之家收集整理的这篇文章主要介绍了javascript – 在日期字段中自动插入斜杠“/”的最佳方式是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试添加输入日期字段的功能,以便用户输入数字时,斜线“/”会自动添加.

所以假设我有以下html:

  1. <input type="text" id="fooDate" />

并假设我有以下javascript:

  1. var dateField = document.getElementById("fooDate");
  2. dateField.onkeyup = bar;

应该是什么吧

到目前为止,谷歌最好的结果是:

  1. function bar(evt)
  2. {
  3. var v = this.value;
  4. if (v.match(/^\d{2}$/) !== null) {
  5. this.value = v + '/';
  6. } else if (v.match(/^\d{2}\/\d{2}$/) !== null) {
  7. this.value = v + '/';
  8. }
  9.  
  10. }

谢谢!

也是 – 我知道在输入唾液时输入斜杠.只是滚动它:p

解决方法

更新/编辑:显然,现在广泛使用HTML5支持的最简单的解决方案是使用< input type =“date”name =“yourName”&gt ;. 对于那些抱怨说它不适应后台或粘贴的人,我修改了原来的:
  1. //Put our input DOM element into a jQuery Object
  2. var $jqDate = jQuery('input[name="jqueryDate"]');
  3.  
  4. //Bind keyup/keydown to the input
  5. $jqDate.bind('keyup','keydown',function(e){
  6.  
  7. //To accomdate for backspacing,we detect which key was pressed - if backspace,do nothing:
  8. if(e.which !== 8) {
  9. var numChars = $jqDate.val().length;
  10. if(numChars === 2 || numChars === 5){
  11. var thisVal = $jqDate.val();
  12. thisVal += '/';
  13. $jqDate.val(thisVal);
  14. }
  15. }
  16. });

`

工作小提琴:https://jsfiddle.net/ChrisCoray/hLkjhsce/

猜你在找的JavaScript相关文章