ok I went through real quick and didnt see any that you wanted exactly (though I could have missed one). I did see one that parsed or got the first occurance of a number from a string, but not all the numbers. You could probably just as well use that, especially with the item1 example, but just incase, heres another one.

Code:
String.prototype.extractNumbers = function(returnType){
	var i, l = this.length, t = isNaN(returnType), r = ""
	for (i=0; i<l; i++) if (isNaN(this.charAt(i)) == t) r += this.charAt(i);
	return r
}
This one will take a string and give back either all the numbers that are in it or all the non numbers. This is based on the returnType argument. If nothing is passed for returnType, all the numbers are returned. example:

myString = "5lh45gl5jhghj37g63ly54g89"

myStringNums = myString.extractNumbers(1) // a number passed, traces 545537635489
myStringChars = myString.extractNumbers("a") // a nonNumber passed, traces lhgljhghjglyg
trace(myStringNums)
trace(myStringChars)

myStringNums2 = myString.extractNumbers() // default, nothing passed, traces 545537635489
trace(myStringNums2)

Im posting it on layer51 proto as Im posting this