In Javascript, I'm trying to make a function which will find the longest number in a string and convert it to a floating point value. However, when I input something like ff333sds22442
, it will output "333" as the longest number when it should output 22442
.
<input type="text" id="numberInput"></input>
<button onclick="findNumber()"> Find Number </button>
<button onclick="makeSubstring()"> Make Substring </button>
<p id="number"></p>
<script>
function findNumber() {
var input = document.getElementById("numberInput").value;
var longest = "";
var result = "";
var inputSub = "";
for (var i = 0; i < input.length; i++) {
for (var j = i + 1; j < input.length; j++) {
inputSub = input.substring(i, j + 1);
if (!isNaN(parseFloat(inputSub)) && inputSub.length > longest.length){
longest = inputSub;
result = inputSub;
}
}
}
result = parseFloat(result);
document.getElementById("number").innerHTML = result;
}
I'm not sure why it's doing this, I was hoping someone could explain it to me.