我一直在努力使用这种特殊的正则表达式,并且想知道是否有人可以提供帮助。我有一个输入字段,允许用户输入文本,如果用户输入01201990,我有一种将其转换为01/20/19/90的方法。问题是我不希望正则表达式在mm / dd之后继续/我的最终结果将如下所示:1990年1月20日任何帮助都会令人惊奇。

    var tmparray = [];
      tmparray.push(
      tmp.model
        // here is where I dont know how to prevent the regex
        // from continuing after 01/20/
        .match(new RegExp('.{1,2}', 'g'))
        .join("/")
    );

    tmp.model = tmparray;
    console.log(tmp.model);

最佳答案

在这种情况下,您可以使用replace()



document.write('19101992'.replace(/(\d{2})(\d{2})(\d{4})/, '$1/$2/$3'))





您的代码将像

var tmparray = [];
  tmparray.push(
  tmp.model
    // here is where I dont know how to prevent the regex
    // from continuing after 01/20/
    .replace(/(\d{2})(\d{2})(\d{4})/g, '$1/$2/$3')
);

tmp.model = tmparray;
console.log(tmp.model);

07-28 10:56