html - Making sure that a user can't submit less than 5 numbers for zip code in a JavaScript form -
i building registration form , need way of preventing users submitting less 5 numbers zip code. when comment out attempt else if entirely, other function (making sure users won't submit letters) works. using return false @ end form won't submit , can test bad input. sorry lack of jsfiddle - wouldn't let me submit forms reason (i noob, may reason). here's snippet of code:
html:
<form name="reg" onsubmit="return formvalidation();"> <p>zip code: <input type="text" id="zip" maxlength="5" name="zip"></p> <input type="submit" id="submitbutton" name="submitbutton" value="submit" /> <div id="msg"></div> </form>
js:
function formvalidation() { var zip = document.reg.zip; allnumeric(zip); function allnumeric(zip) { var numbers = /^[0-9]+$/; if(zip.value.match(numbers)) { document.getelementbyid("msg").innerhtml=("ok ✓"); msg.style.color="green"; } else if (zip.numbers < 5) /*does not compute*/ { msg.innerhtml=("has 5 numbers."); msg.style.color="red"; } else { msg.innerhtml=("numbers please."); msg.style.color="red"; } }; return false; };
you want zip.value.length
, not zip.numbers
.
you can whole thing regex:
var numbers = /^\d{5}$/; if(zip.value.match(numbers)) { document.getelementbyid("msg").innerhtml=("ok ✓"); msg.style.color="green"; } else { msg.innerhtml=("numbers please."); msg.style.color="red"; }
Comments
Post a Comment