Проверка JQuery PO BOX - PullRequest
       20

Проверка JQuery PO BOX

3 голосов
/ 14 апреля 2011

Я просмотрел некоторые старые посты и все еще немного запутался в происходящем. У меня есть форма доставки, которая НЕ позволяет использовать почтовые ящики, поэтому я пытаюсь найти средство проверки, чтобы просмотреть и убедиться, что в поле ввода нет PO. Я проверяю, заполнено ли каждое поле этим кодом, но мне интересно, как я могу включить его в проверку почтового ящика. Примечание: это отдельный файл из моей реальной формы

$( document ).ready(

    function()
    {
        $( '#shipping' ).submit(
            function()
            {

                    var required_fields = new Array(
                        'name',
                        'service',
                        'company',
                        'contact',
                        'street',
                        'city',
                        'state',
                        'zip',
                        'projectnum'
                    );


                        for( j in required_fields )
                        {

                            var theRequiredField = required_fields[j]
                            var inputField = $( '[name="' + theRequiredField + '"]' )

                            if( inputField.val() == '' )
                            {                                   
                                alert( "The '" + theRequiredField + "' field is required." );
                                inputField.focus();
                                return false;

                            } 

                        } 


            } // function
            ) // submit
    }

);  

Ответы [ 2 ]

9 голосов
/ 14 апреля 2011

Возможно, есть лучший метод, но вот что я придумал:

Live Demo

$('input[name=address]').each(function() {
    var pattern = new RegExp('[PO.]*\\s?B(ox)?.*\\d+', 'i');
    if ($(this).val().match(pattern)) {
        $(this).after('<span class="pob">No PO Boxes</span>');
    }
});
1 голос
/ 16 января 2016

Я использовал RegEx, предоставленный drudge. Он работает в большинстве случаев, но он дал мне ложное срабатывание для строк типа «1122 new space - Apt. 99B1». Поэтому я изменил RegEx на:

var pattern = new RegExp('(P.O.|PO|Box)+\\s?.*\\d+', 'i');

Этот проверяет любой из "P.O." или слова "PO" или "Box", за которыми следует число для определения его в качестве адреса PO Box.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...