开发者

What's a good RegExp that will strip out all characters except Integers from a string?

开发者 https://www.devze.com 2022-12-23 02:10 出处:网络
I\'m new to using regexp, can someone give me the regexp that will strip out everything but an integer from a string in javascript?

I'm new to using regexp, can someone give me the regexp that will strip out everything but an integer from a string in javascript?

I would like to take the string "http://www.foo.c开发者_如何学Pythonom/something/1234/somethingelse" and get it down to 1234 as an integer.

Thanks


var str = "something 123 foo 432";

// Replace all non-digits:
str = str.replace(/\D/g, '');

alert(str); // alerts "123432"

In response to your edited question, extracting a string of digits from a string can be simple, depending on whether you want to target a specific area of the string or if you simply want to extract the first-occurring string of digits. Try this:

var url = "http://www.foo.com/something/1234/somethingelse";
var digitMatch = url.match(/\d+/); // matches one or more digits
alert(digitMatch[0]); // alerts "1234"

// or:
var url = "http://x/y/1234/z/456/v/890";
var digitMatch = url.match(/\d+/g); // matches one or more digits [global search]
digitMatch; // => ['1234', '456', '890']


This is just for integers:

[0-9]+

The + means match 1 or more, and the [0-9] means match any character from the range 0 to 9.


uri = "http://www.foo.com/something/1234/somethingelse";
alert(uri.replace(/.+?\/(\d+)\/.+/, "$1"))


Just define a character-class that requires the values to be numbers.

/[^0-9]/g // matches anything that is NOT 0-9 (only numbers will remain)
0

精彩评论

暂无评论...
验证码 换一张
取 消