src/Generator.php
public function getBankNumber($type = 'Visa')
	{
		$visaPrefixList[] = '4539';
		$visaPrefixList[] = '4556';
		$visaPrefixList[] = '4916';
		$visaPrefixList[] = '4532';
		$visaPrefixList[] = '4929';
		$visaPrefixList[] = '40240071';
		$visaPrefixList[] = '4485';
		$visaPrefixList[] = '4716';
		$visaPrefixList[] = '4';
		
		$mastercardPrefixList[] = '51';
		$mastercardPrefixList[] = '52';
		$mastercardPrefixList[] = '53';
		$mastercardPrefixList[] = '54';
		$mastercardPrefixList[] = '55';
		
		$amexPrefixList[] = '34';
		$amexPrefixList[] = '37';
		
		$discoverPrefixList[] = '6011';
		
		$routingPrefixList[] = '01';
		$routingPrefixList[] = '02';
		$routingPrefixList[] = '03';
		$routingPrefixList[] = '04';
		$routingPrefixList[] = '05';
		$routingPrefixList[] = '06';
		$routingPrefixList[] = '07';
		$routingPrefixList[] = '08';
		$routingPrefixList[] = '09';
		$routingPrefixList[] = '10';
		$routingPrefixList[] = '11';
		$routingPrefixList[] = '12';
		
		switch ($type) {
			case 'Visa':
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
			case 'Master Card':
				$bank_number = $this->completedBankNumber($mastercardPrefixList, 16);
				break;
			case 'American Express':
				$bank_number = $this->completedBankNumber($amexPrefixList, 15);
				break;
			case 'Discover':
				$bank_number = $this->completedBankNumber($discoverPrefixList, 16);
				break;
			case 'Routing':
				$bank_number = $this->completedBankNumber($routingPrefixList, 9);
				break;
			default:
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
		}
		
		return $bank_number;
	}
public function getBankNumber($type = 'Visa')
	{
		$visaPrefixList[] = '4539';
		$visaPrefixList[] = '4556';
		$visaPrefixList[] = '4916';
		$visaPrefixList[] = '4532';
		$visaPrefixList[] = '4929';
		$visaPrefixList[] = '40240071';
		$visaPrefixList[] = '4485';
		$visaPrefixList[] = '4716';
		$visaPrefixList[] = '4';
		
		$mastercardPrefixList[] = '51';
		$mastercardPrefixList[] = '52';
		$mastercardPrefixList[] = '53';
		$mastercardPrefixList[] = '54';
		$mastercardPrefixList[] = '55';
		
		$amexPrefixList[] = '34';
		$amexPrefixList[] = '37';
		
		$discoverPrefixList[] = '6011';
		
		$routingPrefixList[] = '01';
		$routingPrefixList[] = '02';
		$routingPrefixList[] = '03';
		$routingPrefixList[] = '04';
		$routingPrefixList[] = '05';
		$routingPrefixList[] = '06';
		$routingPrefixList[] = '07';
		$routingPrefixList[] = '08';
		$routingPrefixList[] = '09';
		$routingPrefixList[] = '10';
		$routingPrefixList[] = '11';
		$routingPrefixList[] = '12';
		
		switch ($type) {
			case 'Visa':
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
			case 'Master Card':
				$bank_number = $this->completedBankNumber($mastercardPrefixList, 16);
				break;
			case 'American Express':
				$bank_number = $this->completedBankNumber($amexPrefixList, 15);
				break;
			case 'Discover':
				$bank_number = $this->completedBankNumber($discoverPrefixList, 16);
				break;
			case 'Routing':
				$bank_number = $this->completedBankNumber($routingPrefixList, 9);
				break;
			default:
				$bank_number = $this->completedBankNumber($visaPrefixList, 16);
				break;
		}
		
		return $bank_number;
	}
public function getBankNumber ( $ type = 'Visa' ) { $ visaPrefixList [ ] = '4539' ; $ visaPrefixList [ ] = '4556' ; $ visaPrefixList [ ] = '4916' ; $ visaPrefixList [ ] = '4532' ; $ visaPrefixList [ ] = '4929' ; $ visaPrefixList [ ] = '40240071' ; $ visaPrefixList [ ] = '4485' ; $ visaPrefixList [ ] = '4716' ; $ visaPrefixList [ ] = '4' ; $ mastercardPrefixList [ ] = '51' ; $ mastercardPrefixList [ ] = '52' ; $ mastercardPrefixList [ ] = '53' ; $ mastercardPrefixList [ ] = '54' ; $ mastercardPrefixList [ ] = '55' ; $ amexPrefixList [ ] = '34' ; $ amexPrefixList [ ] = '37' ; $ discoverPrefixList [ ] = '6011' ; $ routingPrefixList [ ] = '01' ; $ routingPrefixList [ ] = '02' ; $ routingPrefixList [ ] = '03' ; $ routingPrefixList [ ] = '04' ; $ routingPrefixList [ ] = '05' ; $ routingPrefixList [ ] = '06' ; $ routingPrefixList [ ] = '07' ; $ routingPrefixList [ ] = '08' ; $ routingPrefixList [ ] = '09' ; $ routingPrefixList [ ] = '10' ; $ routingPrefixList [ ] = '11' ; $ routingPrefixList [ ] = '12' ; switch ( $ type ) { case 'Visa' : $ bank_number = $ this -> completedBankNumber ( $ visaPrefixList , 16 ) ; break ; case 'Master Card' : $ bank_number = $ this -> completedBankNumber ( $ mastercardPrefixList , 16 ) ; break ; case 'American Express' : $ bank_number = $ this -> completedBankNumber ( $ amexPrefixList , 15 ) ; break ; case 'Discover' : $ bank_number = $ this -> completedBankNumber ( $ discoverPrefixList , 16 ) ; break ; case 'Routing' : $ bank_number = $ this -> completedBankNumber ( $ routingPrefixList , 9 ) ; break ; default : $ bank_number = $ this -> completedBankNumber ( $ visaPrefixList , 16 ) ; break ; } return $ bank_number ; }
I've adapted a credit card / routing number generator to meet my needs here. Original copyright below.
Numbers created here will pass the Luhn Mod-10 test.

@param string $type
@return string
I ve adapted a credit card / routing number generator to meet my needs here . Original copyright below . Numbers created here will pass the Luhn Mod - 10 test .