पीओ बॉक्स को सत्यापित करना चाहते हैं लेकिन यह जानना चाहता था कि ऐसी सत्यापन मौजूद है या नहीं। मैं में पता फ़ील्ड विभाजित है पता 1 और पता 2 (जहां इस तरह के पीओ, अपार्टमेंट, सूट की जानकारी हासिल की)पीओ बॉक्स सत्यापन
उदाहरण:
Address 1: 123 Main Street
Address 2: Suite 100
City: Any Town
State: Any State
Zip: Any Zip
पीओ बॉक्स (कर सकते हैं बॉक्स के लिए भी उप बिन) उदाहरण:
- पीओ बॉक्स 123
- पीओ बॉक्स 123
- पीओ 123
- पोस्ट ऑफ़िस बॉक्स 123
- पीओ 123
- बॉक्स 123
- POB 123
- P.O.B 123
- लेटर बक्स 123
- पोस्ट 123
- पोस्ट बॉक्स 123
(मैं जानता हूँ कि शायद और अधिक मैं के लिए मान्य करने के लिए की जरूरत है देखते हैं, लेकिन यह है कि मैं क्या, के बारे में सोच या जोड़ने के लिए नि: शुल्क सही महसूस कर सकता था है)
मैं जानता हूँ कि एक रेगुलर एक्सप्रेशन से इस बात के लिए सबसे अच्छा होगा और मुझे लगता है अन्य, #2
ढेर #1 पर सवाल अन्य सवाल से Regex का उपयोग करके देखा है मैं अच्छा परिणाम प्राप्त लेकिन यह कुछ याद करते हैं मुझे लगता है कि यह
पकड़ने चाहिए$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";
}
}
यह सरणी में पिछले दो मानों को क्यों नहीं पकड़ रहा है?
+1 अच्छा शोध करने के लिए +1। – srijan
एक जेएस प्रश्न के लिए लेकिन अभी भी एक उत्कृष्ट उत्तर: https://stackoverflow.com/questions/5680050/po-box-regular-expression- अवैधता – turibe