diff options
| author | ivan <ivan> | 2001-08-31 09:20:35 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2001-08-31 09:20:35 +0000 | 
| commit | e49fd9a1d93335d22174e47ccd547e47ccb17fe9 (patch) | |
| tree | 039f1335a4150e8bd1ddee64453dc0ca0d6d800c | |
| parent | 4ec61507a7b255c3f5e8a573eca18c48ddaaa2c1 (diff) | |
check US zips more strictly
| -rw-r--r-- | FS/FS/Record.pm | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 2c745b413..9a532e3a0 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -813,10 +813,17 @@ Check/untaint zip codes.  =cut  sub ut_zip { -  my( $self, $field ) = @_; -  $self->getfield($field) =~ /^\s*(\w[\w\-\s]{2,8}\w)\s*$/ -    or return "Illegal (zip) $field: ". $self->getfield($field); -  $self->setfield($field,$1); +  my( $self, $field, $country ) = @_; +  if ( $country eq 'US' ) { +    $self->getfield($field) =~ /\s*(\d{5}(\-\d{4})?)\s*$/ +      or return "Illegal (zip) $field for country $country: ". +                $self->getfield($field); +    $self->setfield($field,$1); +  } else { +    $self->getfield($field) =~ /^\s*(\w[\w\-\s]{2,8}\w)\s*$/ +      or return "Illegal (zip) $field: ". $self->getfield($field); +    $self->setfield($field,$1); +  }    '';  } @@ -969,7 +976,7 @@ sub DESTROY { return; }  =head1 VERSION -$Id: Record.pm,v 1.25 2001-08-21 09:34:13 ivan Exp $ +$Id: Record.pm,v 1.26 2001-08-31 09:20:35 ivan Exp $  =head1 BUGS | 
