أفضل الاستراتيجيات لمنع عناوين مع صناديق البريد؟

StackOverflow https://stackoverflow.com/questions/281743

سؤال

ولدي العميل الذي يتم الشحن عن طريق UPS، وبالتالي لا يمكن أن يسلم إلى صناديق مكتب بريد. وأود أن تكون قادرة على التحقق من صحة الحقول عنوان العميل من أجل منعهم من إدخال عناوين التي تشمل مربع PO. وسيكون من الأفضل لو تم تنفيذ هذا الأمر باستخدام التعابير المنطقية كي أتمكن من استخدام عنصر تحكم التحقق من صحة التعابير المنطقية من جانب العميل (ASP.NET).

وأنا أدرك أن هناك على الأرجح أي وسيلة للحصول على معدل اكتشاف 100٪، وأنا أبحث فقط عن شيء من شأنها أن تعمل معظم الوقت.

هل كانت مفيدة؟

المحلول

وهذا يجب ان تحصل على انك بدأته. اختبار لمعرفة ما إذا كان الحقل عنوان مباريات هذه التعابير المنطقية.

"^P\.?\s?O\.?\sB[Oo][Xx]."

والترجمة إلى الإنجليزية: وهذا P في بداية السطر، تليها فترة اختيارية والمكان، تليها O، تليها فترة اختيارية، متبوعا بمسافة، تلاه سهم "بوكس"، تليها أي شيء آخر.

نصائح أخرى

لقد UPS أيضا الأدوات التي يمكن أن تدمج للقيام بذلك ... وبهذه الطريقة يمكنك التحقق من عنوان بالضبط ما إذا كان أو لم تكن سوف السفينة، ما من شأنه أن تكون التكلفة، والجداول الزمنية، وما إلى ذلك أقترح زيارة UPS IT الصفحة حلول لمزيد من المعلومات.

هل يمكن أن يكون أفضل حالا وضع تنويه على تحذير الصفحة التي لا يمكن أن السفينة للنشر صناديق المكتب، بدلا من التحقق من صحة الإدخال.

والمزيد من المرجح إذا كنت تفعل إنشاء التعابير المنطقية التي يمسك معظم P.O. سيناريوهات مربع، وهناك فرصة جيدة لأنها سوف أيضا التقاط الأشياء التي لم تكن تنوي (أي العملاء مع اسم الشارع تحتوي على 'ع' الرسائل 'س' و 'مربع')

وكنت أبدأ باستخدام التعابير المنطقية علاء السحلية (ولكن استخدام "تجاهل القضية" العلم :))، اختبار على البيانات التاريخية، ثم تكرار كما ترون ما شوائب غير صالحة والاستثناءات التي تراها في الاختبار.

سوف

ومعظم مقدمي الشحن (على سبيل المثال فيديكس) التحقق من صحة عنوان الشحن. على سبيل المثال، مع خدمات الويب فيديكس، هناك دعوة للتحقق من صحة عنوان الشحن والحصول على التكلفة التقديرية. هذا لا يضمن فقط أن العنوان ليس صندوق بريد، ولكن أيضا بالتأكد من أن بقية عنوان صالحة.

وفيما يتعلق بتعليق OP لإجابة جيسون كوكو:

ومنذ كنت في وضع يمكنها من التحقق من صحة إضافة رجإكس إلى عنوان الشحن، وأفترض أن لديك السيطرة على التطبيق (أي، لديك مصدر، ويمكن تعديله). إذا كان هذا هو الحال، ثم يجب أن يكون لديك القدرة على، على تلقي البيانات المقدمة، تحقق ما إذا كان ليتم شحنها عن طريق USPS، فيديكس، أو يو بي إس وتقديم طلب إلى العنوان المصادقة المناسبة عن الشاحن محددة، والحصول على كل فوائد المقترحة في الإجابة جيسون.

وبجعله الشاحن محددة، وهذا من شأنه أن يسمح لك أيضا لتجنب تنفيذ مقاس واحد يناسب جميع القواعد، مثل "وجود مربعات PO لأن UPS لا تقدم لهم"، على الرغم من أن يمكن للمستخدم اختيار غير -UPS الشاحنين الذين لا يسلم إلى صناديق البريد.

وماذا لو لم تبدأ مع "صندوق بريد .." أو "صندوق بريد"؟

مثال:

وجون شميت | وادي الفضة ص.ب 3901 | Whereswaldoville، SI. 78946

وأنا استخدم الحدث و onblur لحقل عنوان لاستخدام وظيفة جافا سكريبت، indexOf، للاعتراف input.toUpperCase "PO BOX" || "P.O" وهذا هو> = 0.

إذا لم يتم العثور على أي من هذه البحثين، كانت عودته -1، وإلا، فإنه سيعود موضع بداية السلسلة والتي ستكون دائما 0 أو أكثر.

وهذا سيضمن أن الكتابة البطيئة، "صندوق بريد"، "مربع p.o"، وكذلك "ص ب: سيتم التعرف مربع. أفترض أنك يمكن أن تضيف 'ص. مربع "كذلك.

وعلى أي حال، وحالة مشغلات رسالة مزعجة لإظهار أن "لا يمكننا أن السفينة إلى عنوان صندوق بريد. واضاف" انها ميزة للا أرى أنه إذا كان لا تنطبق عليك، وإلا للمستخدمين الذين ارتداء ' ر لها شبيبة أو المغلق تمكين، وأنها سوف انظر فقط الرسالة، وتفشل فقط على هذا التدهور رشيقة هو ما إذا كان المستخدم لديه المغلق، ولكن لا مكنت شبيبة (حيث أنها فقط لن ترى الرسالة على الإطلاق). جئت فقط حتى مع حل اليوم، ولكن إذا كنت تفكر في طريقة أفضل، سأعود الى ما بعد ذلك هنا.

ومما يؤسف له، والبرمجيات UPS على الإنترنت يسمح ص ب: صناديق من خلال الذهاب، ولكن سوف خنق عليها مرة واحدة انهم في قناة الشحن. في حالتنا، وذهب لدينا معدل التخلي العربة حتى عندما حاولنا منع ص ب برشاقة مربعات. وجدنا أنه أكثر من ذلك بكثير فعالة من حيث التكلفة لتترك وحدها، قبول بيع، وجعله انتباه خدمة العملاء، والسماح لهم حلها. بالطبع، إذا كنت تحصل على نسبة عالية من صناديق P.O، وهذا قد لا يكون الأمر كذلك بالنسبة لك.

ومن السؤال الأصلي:

<اقتباس فقرة>   

وأنا أدرك أن هناك على الأرجح أي وسيلة للحصول على معدل اكتشاف 100٪، ...

في الواقع، هناك.

إذا تم التحقق من صحة عنوان أولا وموحدة إلى تنسيق USPS باستخدام أداة التحقق من صحة عنوان (الشركة التي أعمل ليجعل YAddress )، ثم كل PO عناوين مربع دون استثناء سيتم مكتوبة "PO BOX ...". بعد ذلك يمكنك سلسلة مقارنتها عن تطابق تام مع دقة 100٪.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top