javascript - 如何在 JavaScript 中增加包含前导零的字符串?

标签 javascript

我有这样的字符串:

MPG_0023

我想找到类似的东西

MPG_0023 + 1

我应该得到

MPG_0024

如何在 JavaScript 中做到这一点?应该注意,如果没有前导零,或者一个前导零应该仍然有效,如 MPG23 应该给 MPG24 或 MPG023 应该给 MPG024。

不应该假设有下划线或前导零,唯一的事情是第一部分是任何字符串甚至没有字符串,数字部分可能有也可能没有前导零,它是任何类型的数字所以它应该适用于 0023(返回 0024)或 gp031(返回 gp032)等。

最佳答案

这是一种不使用正则表达式的快速方法。只要数字前面总是有一个下划线,并且只要数字是 4 位数字,这就可行。

var n = 'MPG_0023';
var a = n.split('_');
var r = a[0]+'_'+(("0000"+(++a[1])).substr(-4));
console.log(r);

或者,如果您确实想使用正则表达式,则下划线无关紧要。

var n = "MPG_0099";
var r = n.replace(/(\d+)/, (match)=>("0".repeat(4)+(++match)).substr(-4));
console.log(r);

关于javascript - 如何在 JavaScript 中增加包含前导零的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613243/

相关文章:

javascript - 无法使用 crypto.createDecipheriv() 正确解密文件。文件大小为 0 字节

javascript - 切换类不能按预期使用 css3 动画

javascript - 如何创建具有不确定状态的自定义复选框

javascript - 带有 Google map 绘图的自定义按钮

javascript - 像 stackoverflow 中一样使用 .net mvc 3 动态预览表单帖子

javascript - Material UI Autocomplete clearOnBlur 在 false 时清除

javascript - 将 json 日期转换为 Jackson 的众多日期之一

javascript - 通过 AJAX 传递带有函数的 JSON

Javascript 将输入文件传递给 PHP

javascript - 循环遍历数据并将其传递给图表