| Title | Test
                    Find
                    
                    Pattern Title | 
            
                | Expression | ^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$ | 
            
                | Description | Matches major credit cards including:
Visa (length 16, prefix 4), Mastercard (length 16, prefix 51-55), Discover (length 16, prefix 6011), American Express (length 15, prefix 34 or 37).  All 16 digit formats accept optional hyphens (-) between each group of four digits.  | 
            
                | Matches | 6011-1111-1111-1111 | 5423-1111-1111-1111 | 341111111111111 | 
            
                | Non-Matches | 4111-111-111-111 | 3411-1111-1111-111 | Visa | 
            
                | Author | Rating:  Steven Smith | 
            
                | Source |  | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: Needs outer parens to avoid false positives
	                Name: Ralph Dosser
	                Date: 12/18/2008 12:59:19 PM
	                Comment: 
The entire thing is OR'd between the 16 and 15 digit possibilities, but the begin string ^ only goes with the 16 digits and the end string $ only goes with the 15 digits. This goes away if you encase the whole thing in parens thus:
^(((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13})$
Without those, you can put any prefix you want on a valid 15-digit combo or any suffix you want on a valid 16-digit combo and it will read positive.
                
                
            
                
	                Title: Mr.
	                Name: Prashant
	                Date: 4/1/2005 3:15:26 PM
	                Comment: 
Hi,
    Excellent Code!!!! I'll appreciate if u can help me wit follwoing reg exprn:
* String should contain 7 numbers or 7 digits consisting of 1 letter & 6 numbers in varying order, no spaces.
For this one,  reg expn = (\\d{7})|((\\d*[a-zA-Z]\\d*){7})
But this is also not working...... Please help!!!!!
* String should contain 9 numbers or 8 alphanumeric characters i.e. 8 numbers/letters or 13 numbers
    This one looks really simple, but still (\\d{9})|(\\w{8})|(\\d{13}) is not working.....Please helpppp
                
                
            
                
	                Title: spaces
	                Name: anon
	                Date: 5/20/2004 2:38:24 PM
	                Comment: 
does not allow spaces... but this minor variation will:
^((4\d{3})|(5[1-5]\d{2})|(6011))[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}|3[4,7]\d{13}$
                
                
            
                
	                Title: false positive
	                Name: rob eberhardt
	                Date: 1/20/2004 6:37:02 AM
	                Comment: 
6011123412341234567890abcdefghijklmnopqrstuvwxyz