增量字符串数javascript
很抱歉问这个noob问题,但我真的不擅长javascript。我有一个字符串列表,末尾有数字:增量字符串数javascript,javascript,Javascript,很抱歉问这个noob问题,但我真的不擅长javascript。我有一个字符串列表,末尾有数字: Test-001 测试-002 Test-003 我想增加字符串末尾的数字 到目前为止,我尝试的是: var test = 'Test-001'; var lastNum = test.split('-'); console.log( lastNum[1] + 1 ); // result: 0011 console.log( Number( lastNum[1] ) + 1 ) // result
var test = 'Test-001';
var lastNum = test.split('-');
console.log( lastNum[1] + 1 ); // result: 0011
console.log( Number( lastNum[1] ) + 1 ) // result: 2
我想做的是产生结果(Test-001到Test-999)
提前谢谢你你很接近。。。。但试着穿上这个:
var test = 'Test-001';
var pieces = test.split('-');
var prefix = pieces[0];
var lastNum = pieces[1];
// lastNum is now a string -- lets turn it into a number.
// (On older browsers, the radix 10 is essential -- otherwise it
// will try to parse the number as octal due to the leading zero.
// the radix is always safe to use and avoids any confusion.)
lastNum = parseInt(lastNum, 10);
// lastNum = +lastNum is also a valid option.
// Now, lets increment lastNum
lastNum++;
// Now, lets re-add the leading zeros
lastNum = ("0000" + lastNum).substr(-3);
尝试这样做:
var test = 'Test-001';
var lastNum = test.split('-');
var result=parseInt(lastNum[1]) + 1;
console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);
test = 'Test-009';
lastNum = test.split('-');
result = parseInt(lastNum[1]) + 1;
console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);
test = 'Test-099';
lastNum = test.split('-');
result = parseInt(lastNum[1]) + 1;
console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);
var测试='test-001';
var lastNum=test.split('-');
var result=parseInt(lastNum[1])+1;
日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
测试=‘测试-009’;
lastNum=test.split('-');
结果=parseInt(lastNum[1])+1;
日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
测试=‘测试-099’;
lastNum=test.split('-');
结果=parseInt(lastNum[1])+1;
日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
这将对您有所帮助。可能重复的不确定我是否得到了它,您是否正在尝试这样做@p.s.w.g标题说jQuery。
parseInt()
将不起作用,因为它需要以数字开头。您的lastNum
是NaN
@RUJordan Oops。。修好了,谢谢。通过我的控制台运行,它现在工作正常。如果lastNum是Test-010
right?@newbie,这是无效的——复制代码并在您自己的浏览器控制台中运行。如果您将test
设置为“test-010”
,则lastNum
将正确地等于011
。感谢您提供非常详细的回答谢谢您的建议,但@jeremy的回答要简单得多。