| Title | Test
                    Find
                    
                    Pattern Title | 
            
                | Expression | ^(?:(?<Visa>4\d{3})|(?<Mastercard>5[1-5]\d{2})|(?<Discover>6011)|(?<DinersClub>(?:3[68]\d{2})|(?:30[0-5]\d))|(?<AmericanExpress>3[47]\d{2}))([ -]?)(?(DinersClub)(?:\d{6}\1\d{4})|(?(AmericanExpress)(?:\d{6}\1\d{5})|(?:\d{4}\1\d{4}\1\d{4})))$ | 
            
                | Description | Updated on 7 Jun 2005 --
Matches major credit cards including: Visa (length 16, prefix 4); Mastercard (length 16, prefix 51-55); Diners Club/Carte Blanche (length 14, prefix 36, 38, or 300-305); Discover (length 16, prefix 6011); American Express (length 15, prefix 34 or 37). Saves the card type as a named group to facilitate further validation against a "card type" checkbox in a program. All 16 digit formats are grouped 4-4-4-4 with an optional hyphen or space between each group of 4 digits. The American Express format is grouped 4-6-5 with an optional hyphen or space between each group of digits. Formatting characters must be consistant, i.e. if two groups are separated by a hyphen, all groups must be separated by a hyphen for a match to occur. | 
            
                | Matches | 4111-2222-3333-4444 | 3411 222222 33333 | 5111222233334444 | 
            
                | Non-Matches | 4111-2222-3333-444 | 3411-2222-3333-4444 | Visa | 
            
                | Author | Rating:
                        
Not yet rated.
                    Jerry Schmersahl | 
            
                | Source |  | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: Not working
	                Name: JN
	                Date: 12/31/2007 5:51:44 PM
	                Comment: 
Regular expressions are supported with most versin of GNU Unix tools, but I have yet to find one that will accept this expression.  The error I get from most of them is "Invalid back reference"
I've tried grep -e <stuff supplied above> <filename> as well as grep -e "<stuff supplied above>" <filename> and have had zero success.
                
                
            
                
	                Title: Not working
	                Name: R.Abarca
	                Date: 6/7/2005 7:05:29 PM
	                Comment: 
I've tested in JS with IE 6 and it reports there's an error in the syntax.
                
                
            
                
	                Title: Not for JavaScript
	                Name: Kristen
	                Date: 4/21/2004 9:31:37 AM
	                Comment: 
Doesn't work with JavaScript (IE6)