From a2f5ef9645401a7460b46092a1eeeecd6774d69a Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 20 Mar 2015 05:56:07 +0000 Subject: validate custom countdown input --- assets/js/main.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/assets/js/main.js b/assets/js/main.js index d10911b..f1e9dc4 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1,3 +1,7 @@ +// compile regular expressions + +var numRegExp = new RegExp("^[0-9]*$"); + // sound setup $.ionSound({ @@ -120,8 +124,8 @@ function endLesson() return false; // validate - var valRegExp = new RegExp("^[0-9]*$"); - if (valRegExp.test($points.val()) == false) + var numRegExp = new RegExp("^[0-9]*$"); + if (numRegExp.test($points.val()) == false) { alert ("invalid points!"); return false; @@ -224,9 +228,14 @@ function MyFlipClock (jq, obj) thisClock.setTime(0); }, thisClock); thisClock.custom = $.proxy(function () { - var minutes = parseInt(prompt('Number of minutes', '0')); - var seconds = parseInt(prompt('Number of seconds', '0')); - thisClock.go(minutes * 60 + seconds); + var minutes = prompt('Number of minutes', '0'); + var seconds = prompt('Number of seconds', '0'); + + // validate + if (numRegExp.test(minutes) == false || numRegExp.test(seconds) == false) + alert ("invalid input"); + else + thisClock.go(parseInt(minutes) * 60 + parseInt(seconds)); }, thisClock); return thisClock; -- cgit v1.2.3