Identify and separate records where the ZIP Code has fewer than five digits, contains letters, or does not follow the expected numeric structure.
Identificar y separar los registros donde el código postal tenga menos de cinco dígitos, contenga letras o no cumpla la estructura numérica esperada.
This exercise is for learning and testing purposes only. Do not run scripts against production data, network shares, official HR files, student records, patient records, enterprise repositories, or business-critical folders without proper authorization, backups, testing, least-privilege permissions, change-control approval, and compliance with your organization’s cybersecurity policies.
Este ejercicio es solo para aprendizaje y pruebas. No ejecutes scripts contra datos de producción, carpetas compartidas, archivos oficiales de recursos humanos, expedientes de estudiantes, expedientes de pacientes, repositorios empresariales o carpetas críticas sin autorización, respaldos, pruebas, permisos mínimos, aprobación de control de cambios y cumplimiento de las políticas de ciberseguridad de tu organización.
A contacts file contains ZIP Codes entered manually by different users. Some values are complete, while others are too short, contain letters, or include invalid characters. Before using this file for mailing, reporting, GIS, or validation against official address data, the invalid ZIP Codes must be identified and separated for review.
Un archivo de contactos contiene códigos postales ingresados manualmente por diferentes usuarios. Algunos valores están completos, mientras otros son demasiado cortos, contienen letras o incluyen caracteres inválidos. Antes de usar este archivo para envíos, reportes, GIS o validación contra datos oficiales de direcciones, los ZIP Codes inválidos deben identificarse y separarse para revisión.
33133 → Valid3313 → Invalid33A13 → Invalid33133-1234 → Review / Optional ruleContactID,Name,ZipCode 1001,Juan Carballo,33133 1002,Maria Lopez,3313 1003,Pedro Martinez,33A13 1004,Ana Torres,33145 1005,Luis Perez,33133-1234 1006,Carmen Diaz,
$sourceFile = "C:\Training\contacts.csv" $validFile = "C:\Training\ZipValidos.csv" $invalidFile = "C:\Training\ZipInvalidos.csv"
$records = Import-Csv -Path $sourceFile
This rule accepts only ZIP Codes with exactly five digits.
Esta regla acepta únicamente ZIP Codes con exactamente cinco dígitos.
$zipPattern = '^\d{5}$'$validRecords = $records | Where-Object {
$_.ZipCode -match $zipPattern
}
$invalidRecords = $records | Where-Object {
$_.ZipCode -notmatch $zipPattern
}$validRecords | Export-Csv -Path $validFile -NoTypeInformation -Encoding UTF8 $invalidRecords | Export-Csv -Path $invalidFile -NoTypeInformation -Encoding UTF8
$sourceFile = "C:\Training\contacts.csv"
$validFile = "C:\Training\ZipValidos.csv"
$invalidFile = "C:\Training\ZipInvalidos.csv"
$zipPattern = '^\d{5}$'
$records = Import-Csv -Path $sourceFile
$validRecords = $records | Where-Object {
$_.ZipCode -match $zipPattern
}
$invalidRecords = $records | Where-Object {
$_.ZipCode -notmatch $zipPattern
}
$validRecords | Export-Csv -Path $validFile -NoTypeInformation -Encoding UTF8
$invalidRecords | Export-Csv -Path $invalidFile -NoTypeInformation -Encoding UTF8
Write-Host "Valid ZIP records: $($validRecords.Count)"
Write-Host "Invalid ZIP records: $($invalidRecords.Count)"| Name | ZipCode | Status |
|---|---|---|
| Juan Carballo | 33133 | Valid |
| Ana Torres | 33145 | Valid |
| Name | ZipCode | Issue |
|---|---|---|
| Maria Lopez | 3313 | Too short |
| Pedro Martinez | 33A13 | Contains letters |
| Luis Perez | 33133-1234 | Not five digits |
| Carmen Diaz | Blank value |
ZIP Code validation is a small but important data quality control. Invalid postal codes can affect mailing accuracy, customer segmentation, GIS analysis, service-area reporting, and integration with external address systems. For production work, always confirm the required postal standard before rejecting records.
La validación de códigos postales es un control pequeño pero importante de calidad de datos. ZIP Codes inválidos pueden afectar envíos, segmentación de clientes, análisis GIS, reportes de áreas de servicio e integración con sistemas externos de direcciones. Para producción, confirma siempre el estándar postal requerido antes de rechazar registros.