[ class tree: Validate_US ] [ index: Validate_US ] [ all elements ]

Class: Validate_US

Source Location: /Validate_US-0.5.3/Validate/US.php

Class Overview

Data validation class for the United States



  • Release: @package_version@


  • 1997-2005 Brent Cook


Inherited Variables

Inherited Methods

Class Details

[line 44]
Data validation class for the United States

This class provides methods to validate:

  • Social insurance number (aka SSN)
  • Region (state code)
  • Postal code
  • Telephone number

[ Top ]

Method Detail

phoneNumber   [line 322]

bool phoneNumber( string $number, [bool $requireAreaCode = true])

Validate a US phone number.

Allowed formats

  • xxxxxxx <-> 7 digits format
  • (xxx) xxx-xxxx <-> area code with brackets around it (or not) + phone number with dash or not
  • xxx xxx-xxxx <-> area code + number +- dash/space + 4 digits
  • (1|0) xxx xxx-xxxx <-> 1 or 0 + area code + 3 digits +- dash/space + 4 digits
  • xxxxxxxxxx <-> 10 digits

or various combination without spaces or dashes. THIS SHOULD EVENTUALLY take a FORMAT in the options, instead

  • Return: The valid or invalid phone number
  • Access: public


string   $number   —  phone to validate
bool   $requireAreaCode   —  require the area code? (default: true)

[ Top ]

postalCode   [line 227]

boolean postalCode( string $postalCode, [bool $strong = false])

Validates a US Postal Code format (ZIP code)
  • Return: TRUE if code is valid, FALSE otherwise
  • Todo: Integrate with USPS web API
  • Access: public


string   $postalCode   —  the ZIP code to validate
bool   $strong   —  optional; strong checks (e.g. against a list of postcodes) (not implanted)

[ Top ]

region   [line 240]

bool region( string $region)

Validates a "region" (i.e. state) code
  • Return: Whether the code is a valid state


string   $region   —  2-letter state code

[ Top ]

ssn   [line 54]

bool ssn( string $ssn, [array $high_groups = null])

Validates a social security number


string   $ssn   —  number to validate
array   $high_groups   —  array of highest issued SSN group numbers

[ Top ]

ssnCheck   [line 121]

bool ssnCheck( int $area, int $group, int $serial, array $high_groups)

checks if a Social Security Number is valid needs the first three digits and first two digits and the final four digits as separate integer parameters
  • Return: true if valid


int   $area   —  3-digit group in a SSN
int   $group   —  2-digit group in a SSN
int   $serial   —  4-digit group in a SSN
array   $high_groups   —  array of highest issued group numbers area number=>group number

[ Top ]

ssnGetHighGroups   [line 166]

array ssnGetHighGroups( [string $uri = ''], [bool $is_text = false])

Gets the most current list the highest SSN group numbers issued from the Social Security Administration website. This info can be cached for performance (and to lessen the load on the SSA website)


string   $uri   —  Path to the SSA highgroup.txt file
bool   $is_text   —  Take the $uri param as directly the contents

[ Top ]

ssnGroupRange   [line 86]

int ssnGroupRange( int $groupNumber)

Returns a range for a supplied group number, which is the middle, two-digit field of a SSN.

Group numbers are defined as follows:

  1. - Odd numbers, 01 to 09
  2. - Even numbers, 10 to 98
  3. - Even numbers, 02 to 08
  4. - Odd numbers, 11 to 99


int   $groupNumber   —  a group number to check, 00-99

[ Top ]

Documentation generated on Thu, 10 Dec 2015 05:47:52 +0000 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.