March 20, 2012

How to increment number in string using Javascript or Jquery

Question by user983208

The id of my textarea is string and of this format

id=’fisher[27].man’

I would like to clone the textarea and increment the number and get the id as fisher[28].man and prepend this to the existing textarea.

Is there a way to get this done easily with jquery?

var existingId = $("#at textarea:last").attr('id');
var newCloned = lastTextArea.clone();
var newId = newCloned.attr('id');
//add the index number after spliting
//prepend the new one to 
newCloned.prepend("<tr><td>" + newCloned + "</td></tr>");

There has to be easier way to clone, get index number, split and prepend.

I’m have also tried to do this with regEx

var existingIdNumber = parseInt(/fisher[(d+)]/.exec(s)[1], 10);

Can anybody help me with this?

Answer by Starx

Correct regex would be this

/fisher[d+].man/

Here is a way through through which you would extract the the id.

id = text.replace(/fisher[(d+)].man+/g,"$1");
//Now do whatever you want with the id

Similarly, Same replacement technique can be used to get an incremented id as:

existingId = 'fisher[27].man';
newId = existingId .replace(/(d+)+/g, function(match, number) {
       return parseInt(number)+1;
});
console.log(newId);

Demo with both usage

Author: Nabin Nepal (Starx)

Hello, I am Nabin Nepal and you can call me Starx. This is my blog where write about my life and my involvements. I am a Software Developer, A Cyclist and a Realist. I hope you will find my blog interesting. Follow me on Google+

...

Please fill the form - I will response as fast as I can!