微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery PO BOX验证

如何解决jQuery PO BOX验证

| 我浏览了一些较早的帖子,但对正在发生的事情仍然有些困惑。我有一个不允许使用PO Box的运输表格,所以我试图找到一个验证器以进行检查,并确保输入字段中没有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
    }

);  
    

解决方法

也许有更好的方法,但这是我想出的: 现场演示
$(\'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>\');
    }
});
    ,我使用上面由苦力提供的RegEx。它适用于大多数情况,但是对于诸如“ 1122新空间– Apt。99B1”之类的字符串,它给我带来了误判。因此,我将RegEx修改为:
var pattern = new RegExp(\'(P.O.|PO|Box)+\\\\s?.*\\\\d+\',\'i\');
该命令检查\“ P.O. \”或\“ PO \”或\“ Box \”单词中的任意一个,然后检查一个数字以将其确定为PO Box地址。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。