Javascript 使用正则表达式将前导零添加到非零的日和月

Javascript 使用正则表达式将前导零添加到非零的日和月,javascript,regex,date,Javascript,Regex,Date,我的javascript: date = '1390-1-1'; date = date.replace(/-\d{1}/g, "0$&"); // returns 13900-10-1 但是我希望它返回1390-01-01 如何更改正则表达式以解决此问题 谢谢您可以使用: str = str.replace(/-([1-9])(?!\d)/g, '-0$1'); -([1-9]):匹配连字符,后跟一个数字1-9,并捕获组#1中的数字 (?!\d):负向前看,表示前面没有数字

我的javascript:

date = '1390-1-1';
date = date.replace(/-\d{1}/g, "0$&");

// returns 13900-10-1
但是我希望它返回
1390-01-01

如何更改正则表达式以解决此问题

谢谢

您可以使用:

str = str.replace(/-([1-9])(?!\d)/g, '-0$1');

  • -([1-9])
    :匹配连字符,后跟一个数字
    1-9
    ,并捕获组#1中的数字
  • (?!\d)
    :负向前看,表示前面没有数字
  • 替换为
    -0$1
    ,将
    0
    放在一位数之前