467,926 Members | 1,693 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,926 developers. It's quick & easy.

form validation: postal / zip codes

I used some of the excellent resources from DITHERING.COM for help in my
groveling newbie attempts to cough up working form validation....

I cut and pasted bits of code to check USA ZIP codes and CANADIAN POSTAL
codes, and merged them into one function that I called validCode. The
<form> tag has an onSubmit call to a general form-checker that works fine to
make sure all fields are filled. But within the form is a ZIP/POSTAL CODE
field, where the onBlur calls the function below: "
onBlur="validCode();".... The form-checking works fine, but when the
"onBlur" is engaged, it gives me an "object expected" error where I'm
defining the "var zip".

If any of you seasoned warriors could lend me a neuron or 2, I owe you a
cappuchino or more...

=============================

function validCode(zip) {
var zip = removeSpaces(zip);
if (!(zip.length == 5 || zip.length == 9 || zip.length == 10)) return
false;
if ((zip.length == 5 || zip.length == 9) && !isNumeric(zip)) return
false;
if (zip.length == 10 && zipcode.search && zipcode.search(/^\d{5}-\d{4}$/)
== -1) return false;
return true;
// Check that a Canadian postal code is valid
if (zip.search) {
zip = removeSpaces(zip);
if (zip.length == 6 && zip.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/)
!= -1) return true;
else if (zip.length == 7 &&
zip.search(/^[a-zA-Z]\d[a-zA-Z]-\d[a-zA-Z]\d$/) != -1) return true;
else return false;
}
return true;
}
// ---> END
</script>
=============================
Jul 23 '05 #1
  • viewed: 8037
Share:
2 Replies
Axel Foley wrote:
I used some of the excellent resources from DITHERING.COM for help in my
groveling newbie attempts to cough up working form validation....

I cut and pasted bits of code to check USA ZIP codes and CANADIAN POSTAL
codes, and merged them into one function that I called validCode. The
<form> tag has an onSubmit call to a general form-checker that works fine to
make sure all fields are filled. But within the form is a ZIP/POSTAL CODE
field, where the onBlur calls the function below: "
onBlur="validCode();".... The form-checking works fine, but when the
"onBlur" is engaged, it gives me an "object expected" error where I'm
defining the "var zip".

If any of you seasoned warriors could lend me a neuron or 2, I owe you a
cappuchino or more...

=============================

function validCode(zip) {
var zip = removeSpaces(zip);


You are calling onBlur="validCode();"
but it needs to be:
onBlur="validCode(this.value);"

The function is expecting a parameter, tries to pass a parameter, and
you aren't passing the parameter.

Also, don't use onBlur to check it, use onChange instead. Then, it only
gets checked when its actually been changed. Tabbing through the form
will cause the onBlur to be needlessly fired.

--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/
Jul 23 '05 #2
JRS: In article <vgRCc.14444$HS3.10438@edtnps84>, seen in
news:comp.lang.javascript, Axel Foley <de*******@synchkat.com> posted at
Fri, 25 Jun 2004 08:21:47 :
I used some of the excellent resources from DITHERING.COM for help in my ?????????groveling newbie attempts to cough up working form validation....

US codes look like 12345, 123456789, 12345-6789
CA codes look like B2B2B2, B2B 2B2

Consider

function validCode(zip) { var OK // or \s? v
OK = /^(\d{5}|\d{9}|\d{5}-\d{4}|[a-z]\d[a-z]\s*\d[a-z]\d)$/i.test(zip)
return OK }
function validCode(zip) {
var zip = removeSpaces(zip);
...
// Check that a Canadian postal code is valid
if (zip.search) {
zip = removeSpaces(zip);


Did you not already remove them?

IMHO, removing too many spaces is a mistake; for example, Ol 944 5683
has 9 digits, but is much more likely to be an old munged UK phone
number than a new US Zip.

RegExp tested in <URL:http://www.merlyn.demon.co.uk/js-valid.htm#RT>.

--
© John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ©
<URL:http://jibbering.com/faq/> JL / RC : FAQ for news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
Jul 23 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Kevin Newman | last post: by
9 posts views Thread by julie.siebel | last post: by
27 posts views Thread by Chris | last post: by
11 posts views Thread by Rik | last post: by
1 post views Thread by Rusty Hill | last post: by
15 posts views Thread by MKO | last post: by
4 posts views Thread by racshah | last post: by
7 posts views Thread by creative1 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.