Need to validate date strings in your application? This guide covers the Date Regex Pattern API, which provides patterns for validating dates in various formats including ISO 8601, US format, European format, and custom patterns.
Common Date Formats
Dates are written differently around the world. The same date can be represented as:
- ISO 8601: 2024-01-15 (YYYY-MM-DD) - International standard
- US Format: 01/15/2024 (MM/DD/YYYY)
- European: 15/01/2024 (DD/MM/YYYY)
- Long Format: January 15, 2024
- Compact: 20240115 (YYYYMMDD)
Date Validation Challenges
Regex can validate date format but not date validity. For example, "02/31/2024" matches the format but is an invalid date (February doesn't have 31 days). Consider combining regex validation with actual date parsing.
Using the Date Regex API
TinyFn provides date validation patterns for various formats:
GET https://api.tinyfn.io/v1/regex/patterns/date
Headers: X-API-Key: your-api-key
{
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"format": "iso8601",
"description": "ISO 8601 date format (YYYY-MM-DD)",
"examples": {
"valid": ["2024-01-15", "2024-12-31"],
"invalid": ["2024-13-01", "2024-1-5", "01-15-2024"]
},
"capture_groups": {
"1": "month",
"2": "day"
}
}
Parameters
| Parameter | Type | Description |
|---|---|---|
format |
string | Date format: iso8601, us, european, compact. Default: iso8601 |
separator |
string | Date separator: dash, slash, dot, any. Default: format-specific |
strict |
boolean | Require leading zeros (01 vs 1). Default: true |
Code Examples
JavaScript / Node.js
// Get ISO 8601 date pattern
const response = await fetch(
'https://api.tinyfn.io/v1/regex/patterns/date?format=iso8601',
{ headers: { 'X-API-Key': 'your-api-key' } }
);
const { pattern } = await response.json();
// Validate dates
const dateRegex = new RegExp(pattern);
console.log(dateRegex.test('2024-01-15')); // true
console.log(dateRegex.test('2024-1-5')); // false (missing leading zeros)
console.log(dateRegex.test('01/15/2024')); // false (wrong format)
Python
import requests
import re
from datetime import datetime
response = requests.get(
'https://api.tinyfn.io/v1/regex/patterns/date',
params={'format': 'us'},
headers={'X-API-Key': 'your-api-key'}
)
pattern = response.json()['pattern']
def validate_date(date_string):
# First, check format
if not re.match(pattern, date_string):
return False
# Then, verify it's a real date
try:
datetime.strptime(date_string, '%m/%d/%Y')
return True
except ValueError:
return False
print(validate_date('01/15/2024')) # True
print(validate_date('02/31/2024')) # False (invalid date)
cURL
curl "https://api.tinyfn.io/v1/regex/patterns/date?format=european&separator=dot" \
-H "X-API-Key: your-api-key"
Common Use Cases
- Form Validation: Validate date inputs in forms
- Data Import: Validate dates in imported files
- API Validation: Validate date parameters in requests
- Log Parsing: Extract dates from log entries
- Date Extraction: Find dates in text documents
Best Practices
- Combine with parsing: Validate format with regex, then parse to verify date exists
- Use ISO 8601: When possible, standardize on ISO 8601 format
- Handle timezone: Consider whether time/timezone information is needed
- Be explicit about format: Document which date format your application expects
Use via MCP
Your AI agent can call this tool directly via Model Context Protocol — no HTTP code needed. Add TinyFn to Claude Desktop, Cursor, or any MCP client:
{
"mcpServers": {
"tinyfn-regex": {
"url": "https://api.tinyfn.io/mcp/regex/",
"headers": {
"X-API-Key": "your-api-key"
}
}
}
}
See all regex tools available via MCP in our Regex MCP Tools for AI Agents guide.
Try the Date Regex Pattern API
Get your free API key and start validating dates reliably.
Get Free API Key