Javascript 向字符串中的所有单个数字添加前导零

Javascript adding a leading zero to all single digit numbers in a string

var string = "name t13 - cat y4 - dat s6";

应该改为"name t13 - cat y04 - dat s06"

我需要字符串始终至少有两位数字。如果只有一个数字,如何更改字符串中的数字以零开头?

String.prototype.<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace" rel="nofollow noreferrer">replace()</a> 接受正则表达式作为模式匹配的第一个参数。您还可以提供一个函数作为第二个参数,为每个匹配项调用该函数,并 returns 替换值。

var tests = [
    "s61 t1 e32 w2 i5 e600",
    "name t13 - cat y4 - dat s6",
    "others13y4sixs6"
];

tests.forEach(function(test){
    console.log(test.replace(/\D\d(?!\d+)/g, function(c) { 
        return c.charAt(0) + "0" + c.charAt(1); 
    }));
});