| Title | Test
                    Find
                    
                    Pattern Title | 
            
                | Expression | (?n:(^\$?(?!0,?\d)\d{1,3}(?=(?<1>,)|(?<1>))(\k<1>\d{3})*(\.\d\d)?)$) | 
            
                | Description | Regular expression for validating a US currency string field. Matches an unlimited number of digits to the left of an optional decimal point. Digits to the left of the decimal point can optionally be formatted with commas, in standard US currency format. If the decimal point is present, it must be followed by exactly two digits to the right. Matches an optional preceding dollar sign. Uses regex lookahead to preclude leading zeros and to match the optional formatting comma. | 
            
                | Matches | $3,023,123.34 | 9,876 | 123456.78 | 
            
                | Non-Matches | 0.002 | $01.00 | ###1.00 | 
            
                | Author | Rating:
                        
Not yet rated.
                    Jerry Schmersahl | 
            
                | Source |  | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: doesn't work in regular expression validator
	                Name: doesn't work in regular expression validator
	                Date: 10/25/2007 5:58:14 AM
	                Comment: 
this is nice function but when put in regular expression validator it gets parsed and becomes "(?n:(^\\$?(?!0,?\\d)\\d{1,3}(?=(?<1>,)|(?<1>))(\\k<1>\\d{3})*(\\.\\d\\d)?)$)" and thus doesn't perform properly
                
                
            
                
	                Title: Good Stuff (but not for client-side)
	                Name: Jacque Harper
	                Date: 11/9/2004 11:26:16 AM
	                Comment: 
I learned a great deal while studying this pattern, and offer thanks to the author for providing it.
A caveat for less-experienced developers: this may not work reliably when it runs client-side. I ended up using (^\$?(?!0,?\d)\d{1,3}(,?\d{3})*(\.\d\d)?)$ in my application, and had good results.
                
                
            
                
	                Title: Expression does not work for me ???
	                Name: Angela
	                Date: 2/12/2004 9:42:13 AM
	                Comment: 
Hello,
I found the expression to be just what i need for a project i am working on.  I am new at programming and so i tried this expression and the error message will fire if i enter a digit or a letter, it will only match a space.
what am i doing wrong??
Any help will be greatly appreciated.
Thanks
                
                
            
                
	                Title: Nice one
	                Name: Darren Neimke
	                Date: 1/25/2004 3:32:42 AM
	                Comment: 
There's some really nice stuff in there.  I liked the use of (?!0,?\d) to enforce values at the front of the string and also \k to ensure that, once apostrophe's have been started they must be continued throughout.