@@ -22,29 +22,22 @@ OPTION_STRING('e', "email", HELP("Email address"),
2222| Pattern | Validates | Example |
2323|---------|-----------|---------|
2424| `ARGUS_RE_IPV4` | IPv4 addresses | `192.168.1.1` |
25- | `ARGUS_RE_IP4CIDR` | IPv4 with optional CIDR | `192.168.1.0/24` |
2625| `ARGUS_RE_IPV6` | IPv6 addresses | `2001:db8::1` |
2726
2827```c
2928OPTION_STRING('i', "ip", HELP("Server IP address"),
3029 VALIDATOR(V_REGEX(ARGUS_RE_IPV4)))
3130
32- OPTION_STRING('n', "network", HELP("Network range"),
33- VALIDATOR(V_REGEX(ARGUS_RE_IP4CIDR)))
3431```
3532
3633### Network Infrastructure
3734
3835| Pattern | Validates | Example |
3936| ---------| -----------| ---------|
40- | ` ARGUS_RE_MAC ` | MAC addresses | ` 01:23:45:67:89:AB ` |
4137| ` ARGUS_RE_DOMAIN ` | Domain names (FQDN) | ` example.com ` |
4238| ` ARGUS_RE_PORT ` | Port numbers (1-65535) | ` 8080 ` |
4339
4440``` c
45- OPTION_STRING ('m', "mac", HELP("MAC address"),
46- VALIDATOR(V_REGEX(ARGUS_RE_MAC)))
47-
4841OPTION_STRING ('d', "domain", HELP("Domain name"),
4942 VALIDATOR(V_REGEX(ARGUS_RE_DOMAIN)))
5043```
@@ -55,7 +48,6 @@ OPTION_STRING('d', "domain", HELP("Domain name"),
5548|---------|-----------|---------|
5649| `ARGUS_RE_URL` | Any protocol URL | `https://example.com/path` |
5750| `ARGUS_RE_HTTP` | HTTP(S) URLs only | `http://example.com` |
58- | `ARGUS_RE_FILE_URL` | File URLs | `file:///path/to/file` |
5951
6052```c
6153OPTION_STRING('u', "url", HELP("Website URL"),
@@ -82,78 +74,44 @@ OPTION_STRING('c', "contact", HELP("Contact email (strict)"),
8274 VALIDATOR(V_REGEX(ARGUS_RE_EMAIL_STRICT)))
8375```
8476
85- ### Phone Numbers
86-
87- | Pattern | Validates | Example |
88- |---------|-----------|---------|
89- | `ARGUS_RE_PHONE_INTL` | International format | `+12345678901` |
90- | `ARGUS_RE_PHONE_US` | US phone numbers | `123-456-7890` |
91- | `ARGUS_RE_PHONE_EU` | European phone numbers | `+33 123456789` |
92-
93- ```c
94- OPTION_STRING('p', "phone", HELP("Phone number"),
95- VALIDATOR(V_REGEX(ARGUS_RE_PHONE_US)))
96- ```
9777
9878## // Date and Time Patterns
9979
10080| Pattern | Validates | Example |
10181|---------|-----------|---------|
10282| `ARGUS_RE_ISO_DATE` | ISO date (YYYY-MM-DD) | `2024-03-15` |
10383| `ARGUS_RE_ISOTIME` | ISO datetime | `2024-03-15T14:30:00` |
104- | ` ARGUS_RE_US_DATE ` | US date format | ` 03/15/2024 ` |
105- | ` ARGUS_RE_EU_DATE ` | European date format | ` 15/03/2024 ` |
106- | ` ARGUS_RE_TIME24 ` | 24-hour time | ` 14:30:00 ` |
10784
10885```c
10986OPTION_STRING('d', "date", HELP("Date (YYYY-MM-DD)"),
11087 VALIDATOR(V_REGEX(ARGUS_RE_ISO_DATE)))
11188
112- OPTION_STRING('t', "time ", HELP("Time (HH:MM : SS )"),
113- VALIDATOR(V_REGEX(ARGUS_RE_TIME24 )))
89+ OPTION_STRING('t', "datetime ", HELP("DateTime (ISO format )"),
90+ VALIDATOR(V_REGEX(ARGUS_RE_ISOTIME )))
11491```
11592
116- ## // Geographic Patterns
117-
118- | Pattern | Validates | Example |
119- |---------|-----------|---------|
120- | `ARGUS_RE_ZIP` | US ZIP codes | `12345` or `12345-6789` |
121- | `ARGUS_RE_UK_POST` | UK postcodes | `SW1A 1AA` |
122- | `ARGUS_RE_CA_POST` | Canadian postal codes | `A1A 1A1` |
123- | `ARGUS_RE_LATITUDE` | Latitude (-90 to 90) | `40.7128` |
124- | `ARGUS_RE_LONGITUDE` | Longitude (-180 to 180) | `-74.0060` |
125-
126- ```c
127- OPTION_STRING('z', "zip", HELP("ZIP code"),
128- VALIDATOR(V_REGEX(ARGUS_RE_ZIP)))
129-
130- OPTION_STRING('l', "lat", HELP("Latitude"),
131- VALIDATOR(V_REGEX(ARGUS_RE_LATITUDE)))
132- ```
13393
13494## // Security Patterns
13595
13696| Pattern | Validates | Example |
13797| ---------| -----------| ---------|
13898| ` ARGUS_RE_USER ` | Username (3-20 chars) | ` user_123 ` |
13999| ` ARGUS_RE_PASSWD ` | Basic password | ` password123 ` |
140- | ` ARGUS_RE_PASSWD_STRONG ` | Strong password | ` Pass123! ` |
141100| ` ARGUS_RE_UUID ` | UUID v4 format | ` 550e8400-e29b-41d4-a716-446655440000 ` |
142101
143102``` c
144103OPTION_STRING ('u', "username", HELP("Username"),
145104 VALIDATOR(V_REGEX(ARGUS_RE_USER)))
146105
147- OPTION_STRING('p', "password", HELP("Strong password "),
148- VALIDATOR(V_REGEX(ARGUS_RE_PASSWD_STRONG )))
106+ OPTION_STRING('p', "password", HELP("Password "),
107+ VALIDATOR(V_REGEX(ARGUS_RE_PASSWD )))
149108```
150109
151110## // File System Patterns
152111
153112| Pattern | Validates | Example |
154113|---------|-----------|---------|
155114| `ARGUS_RE_UNIX_PATH` | Unix absolute paths | `/path/to/file` |
156- | `ARGUS_RE_WIN_PATH` | Windows absolute paths | `C:\folder\file` |
157115| `ARGUS_RE_FILENAME` | Filename with extension | `document.pdf` |
158116
159117```c
@@ -164,21 +122,7 @@ OPTION_STRING('n', "name", HELP("Filename"),
164122 VALIDATOR(V_REGEX(ARGUS_RE_FILENAME)))
165123```
166124
167- ## // Visual and Data Patterns
168-
169- ### Colors
170-
171- | Pattern | Validates | Example |
172- | ---------| -----------| ---------|
173- | ` ARGUS_RE_HEX_COLOR ` | Hex colors | ` #FF0000 ` or ` #F00 ` |
174- | ` ARGUS_RE_RGB ` | RGB color format | ` rgb(255,0,0) ` |
175-
176- ``` c
177- OPTION_STRING ('c', "color", HELP("Hex color"),
178- VALIDATOR(V_REGEX(ARGUS_RE_HEX_COLOR)))
179- ```
180-
181- ### Numbers and Formats
125+ ## // Numbers and Formats
182126
183127| Pattern | Validates | Example |
184128| ---------| -----------| ---------|
@@ -236,7 +180,6 @@ Each pattern includes helpful error hints:
236180
237181- ` ARGUS_RE_EMAIL ` : "Enter email:
[email protected] "
238182- ` ARGUS_RE_IPV4 ` : "Enter valid IPv4: 192.168.1.1"
239- - ` ARGUS_RE_PHONE_US ` : "Enter US phone: 123-456-7890"
240183- ` ARGUS_RE_ISO_DATE ` : "Enter date: YYYY-MM-DD"
241184
242185Custom patterns should include similar hints:
0 commit comments