citabriabob has asked for the wisdom of the Perl Monks concerning the following question:
sub sanity_checks { local(%data) = @_; local($any); if (!($data{'26Email'} =~ /.+@.+\..+/)) { &print_error("The email address entered does not appear to be a va +lid address. Please enter an address in the form \"who\@where.com\". +"); return 0; } elsif ((!($data{'01Member'} =~ /^[0-9]{1,4}$/)) && ($data{'01Membe +r'})) { &print_error("The member ID number is entered incorrectly."); return 0; # check CC } elsif (processCard($data{'51CardNum'}) = 2) { &print_error("Credit Card Number Invalid please try again."); return 0; } elsif ($data{$_}){ ++$any; } return 1; } # test CC number 11/7/2015 sub processCard { my ($cardNum) = @_; # &print_error("Test should be cc no. @_"); return 2 if $cardNum !~ /^[0-9]+$/; # return 2 if length $cardNum != 16; return 2 if !numberOK($cardNum); } sub numberOK { my @cardNum = split //, shift; for my $i (map {$_ * 2} 0 .. $#cardNum / 2) { $cardNum[$i] *= 2; $cardNum[$i] -= 9 if $cardNum[$i] >= 10; } my $total = 0; $total += $_ for (@cardNum); return $total % 10 == 0; } # end processCard sub
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: CGI Script sub
by davido (Cardinal) on Nov 08, 2015 at 22:41 UTC | |
by citabriabob (Novice) on Nov 08, 2015 at 22:52 UTC | |
by davido (Cardinal) on Nov 08, 2015 at 22:54 UTC | |
by citabriabob (Novice) on Nov 08, 2015 at 23:16 UTC | |
by AnomalousMonk (Archbishop) on Nov 08, 2015 at 23:39 UTC | |
|
Re: CGI Script sub
by 1nickt (Canon) on Nov 08, 2015 at 22:40 UTC |