在字符串末尾使用JavaScript parseInt

时间:2011-01-11 15:48:19

标签: javascript parseint

我知道

parseInt(myString, 10) // "Never forget the radix"  
如果字符串中的第一个字符是数字,

将返回一个数字,但如果我有一个像“column5”这样的字符串并希望将其增加到下一个字符串(“column6”),我怎么能在JavaScript中执行此操作? / p>

字符串末尾的位数是可变的。

6 个答案:

答案 0 :(得分:19)

parseInt("column5".slice(-1), 10);

您可以分别使用-1或-2表示一到两位数字。

如果要指定任何长度,可以使用以下命令返回数字:

parseInt("column6445".match(/(\d+)$/)[0], 10);

上述内容适用于任何长度的数字,只要字符串以一个或多个数字结尾

即可

答案 1 :(得分:3)

试试这个:

var match = myString.match(/^([a-zA-Z]+)([0-9]+)$/);
if ( match ) {
  return match[1] + (parseInt(match[2]) + 1, 10);
}

这会将text10之类的字符串转换为text11TxT1转换为Txt2等。最后使用长数字。

为parseInt调用添加了基数,因为默认的parseInt值太magic不可信。

详情请见此处:

http://www.w3schools.com/jsref/jsref_parseInt.asp

基本上它会将text010之类的内容转换为text9,但这并不好;)。

答案 2 :(得分:2)

从文本中拆分数字,解析它,递增它,然后重新连接它。如果前面的字符串是众所周知的,例如“column”,你可以这样做:

var precedingString = myString.substr(0, 6); // 6 is length of "column"
var numericString = myString.substr(7);
var number = parseInt(numericString);
number++;

return precedingString + number;

答案 3 :(得分:1)

var my_car="Ferrari";
var the_length=my_car.length;
var last_char=my_car.charAt(the_length-1);
alert('The last character is '+last_char+'.');

归功于http://www.pageresource.com/jscript/jstring1.htm

然后只需增加last_char

答案 4 :(得分:0)

  1. 使用RegEx分割单词和数字。

  2. 使用parseInt()递增数字。

  3. 附加到单词。

答案 5 :(得分:0)

尝试通过char读取字符串char,检查其ASCII码。如果它从48到57你得到你的号码。尝试使用charCodeAt函数。然后只需分割字符串,增加数字及其完成。