String
からすべての番号を取得するには、\d+
を使用できます。したがって、あなたはwhile
ループで配列に結果を追加し、それらから最小/最大値を取得することができます:
例1 - 機能
var min;
var max;
var text = "Being under 18 may require parental signature. "
+ "You must be at least 16 years in older to apply";
function getMinAndMax(string){
var p = RegExp("\\d+", "g"),
match, results = [];
while (match = p.exec(string))
results.push(match[0]); // [18, 16]
return [Math.min.apply(null, results), // 16
Math.max.apply(null, results)]; // 18
}
var ages = getMinAndMax(text); // [16, 18]
console.log("Min: " + ages[0]);
console.log("Max: " + ages[1]);
https://jsfiddle.net/oro4djpq/
例2を使用して - 直接
var p = RegExp("\\d+", "g"),
text = "Life Span: 10 to 12 years",
match, results = [];
while (match = p.exec(text))
results.push(match[0]); // [10, 12]
console.log("Min: " + Math.min.apply(null, results)); // [10]
console.log("Max: " + Math.max.apply(null, results)); // [12]
https://jsfiddle.net/rzo31teb/