Tìm cách xác thực PO Box nhưng muốn biết liệu xác thực đó có tồn tại hay không. Tôi có sự phân chia lĩnh vực Địa chỉ vào Địa chỉ 1 và Địa chỉ 2 (Nơi PO như vậy, Apt, thông tin Suite sẽ đi)Xác thực Hộp thư bưu điện
Ví dụ:
Address 1: 123 Main Street
Address 2: Suite 100
City: Any Town
State: Any State
Zip: Any Zip
PO Box (Can phụ BIN cho BOX cũng) Ví dụ:
- PO Box 123
- PO Hộp 123
- PO 123
- Bưu Box 123
- P.O 123
- Box 123
- POB 123
- P.O.B 123
- P.O.B. 123
- bài viết 123
- bài Box 123
(Tôi biết có lẽ tôi càng cần phải xác nhận cho nhưng đây là những gì tôi có thể nghĩ ra, cảm thấy tự do để thêm hoặc đúng)
Tôi biết một RegEx sẽ là tốt nhất cho điều này và tôi đã nhìn thấy các câu hỏi khác trên Stack #1, #2
Sử dụng RegEx từ câu hỏi khác tôi nhận được kết quả tốt nhưng nó nhớ một số tôi nghĩ rằng nó sẽ bắt
$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";
}
}
Tại sao nó không bắt hai giá trị cuối cùng trong mảng?
+1 để thực hiện nghiên cứu tốt trước khi đặt câu hỏi. – srijan
Đối với một câu hỏi JS nhưng vẫn là một câu trả lời tuyệt vời: https://stackoverflow.com/questions/5680050/po-box-regular-expression-validation – turibe