             }
         }
         
+        // Find out if the ZIP code contains any letters.
+        var containsLetters:Boolean = false;
+        for (i = 0; i < len; i++)
+        {
+            if (ROMAN_LETTERS.indexOf(zip.charAt(i)) != -1)
+            {
+                containsLetters = true;
+                break;
+            }
+        }
+        
         // do an initial check on the length
-        if ((len < 5 || len > 10) || (len == 8))
+        if ((len < 5 || len > 10) || (len == 8) || 
+            (!containsLetters && (len == 6 || len == 7)))
         {
             // it's the wrong length for either a US or Canadian zip
             results.push(new ValidationResult(

            
            case DOMAIN_CANADA:
            {
                if (validator.validateCACode(zip) == false)
                {
                    results.push(new ValidationResult(
                        true, baseField, "wrongCAFormat",

        {
            case DOMAIN_US:
            {
                if (validator.validateUSCode(zip, containsLetters) == false)
                {
                    results.push(new ValidationResult(
                            true, baseField, "wrongUSFormat",
