Nota: Este artículo fue publicado originalmente en 2011. Algunos pasos, comandos o versiones de software pueden haber cambiado. Consulta la documentación actual de Programming para la información más reciente.
Lately as part of my work I came across the need to validate some fields and realized probably there should be some common Regex expressions out there I could leverage. This came about because I was doing some code reviews and the validations were not working as intended and I wanted to find some generally accepted and tested expressions to ensure they would pass future testing efforts. Below is a table I found on the MSDN library you can refer to and I’ll add more expressions as the need for them arises or people share them.
| Field | Expression | Format Samples | Description |
|---|---|---|---|
| Name | ^{1,40}$ | John Doe O’Dell | Validates a name. Allows up to 40 uppercase and lowercase characters and a few special characters that are common to some names. You can modify this list. |
| Social Seguridad Number | ^d{3}-d{2}-d{4}$ | 111-11-1111 | Validates the format, type, and length of the supplied input field. The input must consist of 3 numeric characters followed by a dash, then 2 numeric characters followed by a dash, and then 4 numeric characters. |
| Phone Number | ^??((d{2}) | d{2})?d{3}?d{4}$ | (425) 555-0123 425-555-0123 425 555 0123 1-425-555-0123 |
| ^(?("")("".+?""@) | ((((.(?!.)) | )*)(?<=)@))(?() | |
| URL | ^(ht | f)tp(s?)://()(:(0-9))(/?)(*)?$ | http://www.microsoft.com |
| ZIP Code | ^(d{5}-d{4} | d{5} | d{9})$ |
| Password | (?!^$)(?!^$)^({8,10})$ | Validates a strong password. It must be between 8 and 10 characters, contain at least one digit and one alphabetic character, and must not contain special characters. | |
| Non- negative integer | ^d+$ | 0 986 | Validates that the field contains an integer greater than zero. |
| Currency (non- negative) | ^d+(.dd)?$ | 1.00 | Validates a positive currency amount. If there is a decimal point, it requires 2 numeric characters after the decimal point. For example, 3.00 is valid but 3.1 is not. |
| Currency (positive or negative) | ^(-)?d+(.dd)?$ | 1.20 | Validates for a positive or negative currency amount. If there is a decimal point, it requires 2 numeric characters after the decimal point. |