JavaScript:正则表达式日期格式

时间:2015-06-26 08:59:26

标签: javascript regex

我想创建一个正则数字格式的正则表达式。

我是正则表达式的新手,这是我得到的。

function keyEvents(target) {
    var element = document.getElementById(target);

    element.addEventListener('keyup', function(evt) {
        if (isNaN(this.value) || (evt.keyCode === 70)) {
             this.value = this.value.replace(/[^0-9]/g, '');
        };
    });
};

keyEvents('dateInput');

当我引入像'12112001'这样的字符串时,我希望它的格式如此'12 / 11/2001'。

是否可以仅使用正则表达式进行此操作?

这是指向JsFiddle的链接:https://jsfiddle.net/w7fduzx3/1/

2 个答案:

答案 0 :(得分:0)

这个会起作用:

"12112001".replace(/(\d{2})(\d{2})(\d{4})/, "$1/$2/$3");

通过在Regexp中使用括号,您可以定义匹配组,然后通过$<number>运算符访问它们。上面的正则表达式只是将数字字符串拆分为三组:

2位数 - 2位数 - 4位数和&#34;加入&#34;他们/

答案 1 :(得分:0)

这是一个没有正则表达式的解决方案,使用substr()(稍快):

var date  = '12112001';
date = date.substr(0,2)+'/'+date.substr(2,2)+'/'+date.substr(4,4);