Tutorial :Replacing a number in a string with jquery



Question:

I have a string which has a number in it that I would like to replace with another number.

ie

<a href="" id="my_link">blah blah 32 blah blah</a>  

I know there is only going to be 1 number in this string.

I can get this far:

var my_string = $('a#my_link').text();  

But basically I don't know how to then perform a search on my_string for a numeral and replace that number with something else.

Is that possible with jQuery?

Thanks for any ideas.


Solution:1

Many jQuery methods like .text() can accept a function that returns the value to insert.

Try it out: http://jsfiddle.net/6mBeQ/

$('#my_link').text( function(i,txt) {return txt.replace(/\d+/,'other value'); });  

This removes the need to run the selector twice.

Also, when you are getting an element by its ID, it is actually a little quicker if you do not include the tag name.

So instead of

$('a#my_link')  

it is better to do

$('#my_link')  

as I did above.


Solution:2

var new_string = $('a#my_link').text().replace(/[0-9]+/, "somethingelse")  

Replace somethingelse with, well, something else. :)


Solution:3

$('a#my_link').text($('a#my_link').text().replace(/\d+/,'something'));  


Solution:4

This will work for simple natural numbers containing 0 - 9.

var my_string = $('a#my_link').text().replace(/[0-9]+/, 'replacement');  

If you need to match more complex numbers, such as decimals and negative numbers, then this would work:

var my_string = $('a#my_link').text().replace(/-?[0-9]*\.?[0-9]+/, 'replacement');  

If you need to match more complex still, like exponential notation, or numbers with commas, you'd need to modify the regex appropriately -- how you do that will depend on how stringently you want to validate.


Solution:5

First you need to loop through each word by splitting off on the space character using the split() function and send the result to a string array.

Once you do that, test each word for the number. If you find the number use the jquery replaceWith() function: http://api.jquery.com/replaceWith/

Hope that helps.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »