Buscando validar PO Box, pero quería saber si existía tal validación. Tengo la división campo Dirección en Dirección 1 y Dirección 2 (Cuando esta PO, Apt, información suite iría)Validación de casilla postal
Ejemplo:
Address 1: 123 Main Street
Address 2: Suite 100
City: Any Town
State: Any State
Zip: Any Zip
PO Box (Can sub BIN de caja también) Ejemplos:
- PO Box 123
- PO Box 123
- PO Box 123
- oficina de correos 123
- P.O 123
- Box 123
- POB 123
- P.O.B 123
- casilla de correos 123
- Mensaje 123
- Post Box 123
(Sé que hay probablemente más que necesitan validar para pero esto es lo que podía pensar, no dude en añadir o corregir)
sé que una expresión regular sería mejor para esto y he visto las otras preguntas en Pila #1, #2
Uso de la expresión regular de la otra pregunta que me hacen buenos resultados, pero se echa de menos alguna creo que debería ponerse
$arr = array (
'PO Box 123',
'P.O. Box 123',
'PO 123',
'Post Office Box 123',
'P.O 123',
'Box 123',
'#123', // no match
'123', // no match
'POB 123',
'P.O.B 123', // no match
'P.O.B. 123', // no match
'Post 123', // no match
'Post Box 123' // no match
);
foreach($arr as $po) {
if(preg_match("/^\s*((P(OST)?.?\s*O(FF(ICE)?)?.?\s+(B(IN|OX))?)|B(IN|OX))/i", $po)) {
echo "A match was found: $po\n";
} else {
echo "A match was not found: |$po| \n";
}
}
¿Por qué no está capturando los dos últimos valores en la matriz?
+1 por hacer una buena investigación antes de hacer una pregunta. – srijan
Para una pregunta JS pero sigue siendo una respuesta excelente: https://stackoverflow.com/questions/5680050/po-box-regular-expression-validation – turibe