cvs: pear /Validate package_IE.xml /Validate/Validate IE.php /Validate/tests validate_IE_vatNumber.phpt

From: Date: Wed, 04 Jul 2007 23:42:06 +0000
Subject: cvs: pear /Validate package_IE.xml /Validate/Validate IE.php /Validate/tests validate_IE_vatNumber.phpt
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-47857@lists.php.net to get a copy of this message
kguest Wed Jul 4 23:42:06 2007 UTC Added files: /pear/Validate/tests validate_IE_vatNumber.phpt Modified files: /pear/Validate package_IE.xml /pear/Validate/Validate IE.php Log: Request #11522 package should validate VAT numbers http://cvs.php.net/viewvc.cgi/pear/Validate/package_IE.xml?r1=1.10&r2=1.11&diff_format=u Index: pear/Validate/package_IE.xml diff -u pear/Validate/package_IE.xml:1.10 pear/Validate/package_IE.xml:1.11 --- pear/Validate/package_IE.xml:1.10 Thu Jun 28 22:13:19 2007 +++ pear/Validate/package_IE.xml Wed Jul 4 23:42:06 2007 @@ -17,6 +17,7 @@ - PPSN / SSN Numbers - Swift numbers - License Plates +- VAT numbers </description> <lead> <name>David Coallier</name> @@ -68,6 +69,7 @@ <file name="validate_IE_post_code.phpt" role="test"/> <file name="validate_IE_ppsn.phpt" role="test"/> <file name="validate_IE_swift.phpt" role="test"/> + <file name="validate_IE_vatNumber.phpt" role="test"/> </dir> </dir> <!-- / --> </contents> http://cvs.php.net/viewvc.cgi/pear/Validate/Validate/IE.php?r1=1.14&r2=1.15&diff_format=u Index: pear/Validate/Validate/IE.php diff -u pear/Validate/Validate/IE.php:1.14 pear/Validate/Validate/IE.php:1.15 --- pear/Validate/Validate/IE.php:1.14 Tue Jul 3 20:50:51 2007 +++ pear/Validate/Validate/IE.php Wed Jul 4 23:42:06 2007 @@ -22,7 +22,7 @@ * @author David Coallier <davidc@php.net> * @copyright 1997-2007 Agora Production (http://agoraproduction.com) * @license http://www.opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: IE.php,v 1.14 2007/07/03 20:50:51 kguest Exp $ + * @version CVS: $Id: IE.php,v 1.15 2007/07/04 23:42:06 kguest Exp $ * @link http://pear.php.net/package/Validate_IE */ @@ -443,6 +443,23 @@ } } // }}} + + // {{{ public function vatNumber + /** + * vatNumber + * + * @access public + * @param string $vat vat number to validate. + * @return bool Returns true on success, false otherwise + * @link http://www.iecomputersystems.com/ordering/eu_vat_numbers.htm + */ + function vatNumber($vat) + { + // IE1234567X or IE1X34567X are valid (includes one or two letters + // either the last or second + last). + return (preg_match('/^IE\d{7}[a-z]$/i', $vat) || preg_match('/^IE\d[a-z]\d{5}[a-z]$/i', $vat)); + } + // }}} } // }}} ?> http://cvs.php.net/viewvc.cgi/pear/Validate/tests/validate_IE_vatNumber.phpt?view=markup&rev=1.1 Index: pear/Validate/tests/validate_IE_vatNumber.phpt +++ pear/Validate/tests/validate_IE_vatNumber.phpt --TEST-- validate_IE_vatNumber.phpt: Unit tests for vatNumber method 'Validate/IE.php' --FILE-- <?php $noYes = array('NO', 'YES'); require_once 'Validate/IE.php'; echo "Test Validate_IE\n"; echo "****************\n"; $vatNumbers = array('IE4531617P', // OK 'IE8234895A', // OK 'IE4736919B', // OK 'IE6344246G', // OK 'IE8F52100V', // OK 'IEF852100V', // NOK - letter in wrong location 'IE8F5210V0', // NOK - letter in wrong location 'IRL8F52100V', // NOK - too long ); echo "\nTest vatNumber\n"; foreach ($vatNumbers as $vatNumber) { echo "{$vatNumber}: ".$noYes[Validate_IE::vatNumber($vatNumber)]."\n"; } ?> --EXPECT-- Test Validate_IE **************** Test vatNumber IE4531617P: YES IE8234895A: YES IE4736919B: YES IE6344246G: YES IE8F52100V: YES IEF852100V: NO IE8F5210V0: NO IRL8F52100V: NO

« previous php.pear.cvs (#47857) next »