我一直在努力使用这种特殊的正则表达式,并且想知道是否有人可以提供帮助。我有一个输入字段,允许用户输入文本,如果用户输入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);