Ignore Defense Calculator (MapleStory)
HTML
<textarea id="numberEntry" autofocus="autofocus" placeholder="Incorrect: ,test , 78% ,tester ,75%,, | Correct: 78%, 75%" value="10%, 5%, 5%, 10%, 6%, 18%, 30%, 8.5%, 20%"></textarea>
<input type="submit" value="Submit" onclick="calculate()">
<input id="output" type="text" disabled="disabled" value="0%">
CSS
html,
body,
textarea {
box-sizing: border-box;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
textarea {
height: 95%;
border: 1px solid red;
}
JavaScript
function calculate() {
var values = document.getElementById("numberEntry").value,
valueList = values.split(/[\s,]+/),
numbers = [],
current = 1;
for (var i = 0, vI = valueList.length, mark = "", value; i < vI; i++, mark = "") {
value = valueList[i].replace("%", '').replace("*", '');
if (isNumeric(value)) {
if (value < 101 && value > 0)
current *= (1.0 - parseFloat(value / 100.0)).toFixed(2);
else
mark = "*";
numbers.push(mark + parseFloat(value) + "%");
}
}
document.getElementById("numberEntry").value = numbers.join(", ");
document.getElementById("output").value = ((1 - current) * 100.0).toFixed(2) + "%";
}
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}