Javascript RegExp:在任何数字之前插入位数

Javascript RegExp:在任何数字之前插入位数,javascript,regex,sorting,Javascript,Regex,Sorting,我想对包含名称和数字的字符串数组进行排序。但是我想改进字母数字排序顺序,得到如下的顺序 John 8 test John 9 test John 10 test 而不是因为“1”

我想对包含名称和数字的字符串数组进行排序。但是我想改进字母数字排序顺序,得到如下的顺序

John 8 test
John 9 test
John 10 test
而不是因为“1”<“8”<“9”而将“约翰10测试”放在顶部。我的想法是将数字的位数插入任意数字中,以便在内部将要排序的数组变为:

John 18 test
John 19 test
John 210 test
它现在是一个字母数字正确排序的数组

你知道如何简单地插入数字的位数吗?RegExp将是完美的。我在nodejs/JavaScript中完成所有这些

提前谢谢

heinob

我自己找到了答案:

var a = "John 352 Name 1 test 23 better";
a.replace( /\d+/g, function( match, number) {
    return match.length + match;
});

我想要的是:-)

如果它有超过9个数字或前导零怎么办?我想你真正需要的是。这实际上可能是一个问题,但在我的例子中不会发生,因为数字是物理测量值,没有前导零,并且不会超过9位。谢谢你的承诺。你肯定能以最快的价格得到答案。