Displaying page
of
 pages;
Items  to 
    
    
            
                
                    | Title | Test
                        Details
                        
                        
                            Pattern Title | 
                
                    | Expression | 
                            (^|\s)(00[1-9]|0[1-9]0|0[1-9][1-9]|[1-6]\d{2}|7[0-6]\d|77[0-2])(-?|[\. ])([1-9]0|0[1-9]|[1-9][1-9])\3(\d{3}[1-9]|[1-9]\d{3}|\d[1-9]\d{2}|\d{2}[1-9]\d)($|\s|[;:,!\.\?])
                         | 
                
                    | Description | Incorporated other people's examples; removed extraneous parenthesis on 10/7/04.  Currently the SSA site says 772 is the highest AREA number generated (http://www.ssa.gov/employer/highgroup.txt).  Old expression was:  (^|\s)\d{3}(-?|[\. ])\d{2}\2\d{4}($|\s|[;:,!\.\?]).  Looks for either the beginning of a line or whitespace before the beginning of the social security number, then either zero or one hyphen OR one of a period or space, then uses the \3 to reference the value returned in the parenthesis that includes the -?|[\. ] (basically says if the first dash, period, or space is there, then the second one is required; and if the first dash, period, or space is not there, then the second one can't be either), and finally looks for the end of a line, whitespace, or punctuation characters after the social security number. | 
                
                    | Matches | 123-45-6789 | 123 45 6789 | 123456789 | 
                
                    | Non-Matches | 12345-67-890123 | 1234-56-7890 | 123-45-78901 | 
                
                    | Author | Rating:  Dennis Flynn | 
            
        
    
        
        
   Displaying page
of
 pages;
Items  to