将跨度内的数字转换为日期格式 | Javascript |

Convert number within span to date format | Javascript |

我在 html 文档的范围内有一个数字 (20150918)。我只能用CSS和javascript控制html文档。我想将数字 20150918 更改为更具可读性的日期格式(例如:2015/09/18)。

对我来说很明显我不能使用 CSS 来更改属性,所以我的假设是我只能为此使用 javascript。这感觉像是一个简单的问题,但我找不到任何我正在格式化的数字已经在 HTML.

范围内的东西

所以我现在尝试更新的跨度基本上是这样的:

<span id="changeme">20150918</span>

任何帮助将不胜感激,如果我错过了一些非常明显的事情,我深表歉意..

捕获元素:

var span = document.getElementById("changeme");

捕获字符串:

var old_format = span.innerHTML;

创建识别数据位置的模式:

var pattern = /(\d{4})(\d{2})(\d{2})/;

用新模式替换字符串:

var new_format = old_format.replace( pattern,'//' );

输出结果:

span.innerHTML = new_format;

这是片段:

var span = document.getElementById("changeme");

var old_format = span.innerHTML;

var pattern = /(\d{4})(\d{2})(\d{2})/;
    
var new_format = old_format.replace( pattern,'//' );

span.innerHTML = new_format;
<span id="changeme">20150919</span>

这是 JavaScript 中的工作代码:

var formatForDate = function(element) {
  var originalText = element.innerText;

  var year = originalText.substring(0,3);
  var month = originalText.substring(4,5);
  var day = originalText.substring(6,7);

  element.innerText = [year, month, day].join('/');
}

要使用它,只需像这样给他 HTML 元素:

formatForDate(document.querySelector('#changeme'));