v0.5.3 is released on 2014.11.05!

zipCode validator

Validate a zip code

Validators

Improve it on Github

Options

Option HTML attribute Type Description
country data-bv-zipcode-country String An ISO-3166 country code.
It's dynamic option
message data-bv-zipcode-message String The error message
When setting options via HTML attributes, remember to enable the validator by setting data-bv-zipcode="true".

Currently, the validator supports the following countries:

No. Country Code Valid examples Invalid examples
1 United States US
2 Austria AT
3 Brazil BR
4 Canada CA
5 Czech Republic CZ
6 Denmark DK
7 French FR
8 Germany DE
9 Italy IT
10 Ireland IE
11 Morocco MA
12 Netherlands NL
13 Portugal PT
14 Romania RO
15 Russia RU
16 Singapore SG
17 Slovakia SK
18 Sweden SE
19 Switzerland CH
20 United Kingdom GB

US zipcode

This validator supports 4 digits US zipcode. If you want a valid US zipcode to be 5 digits exactly, use the regexp validator:

$(document).ready(function() {
    $('#postcodeForm').bootstrapValidator({
        fields: {
            postcode: {
                validators: {
                    regexp: {
                        regexp: /^\d{5}$/,
                        message: 'The US zipcode must contain 5 digits'
                    }
                }
            }
        }
    });
});

Example

<form id="zipCodeForm" class="form-horizontal">
    <div class="form-group">
        <label class="col-sm-3 control-label">Country</label>
        <div class="col-sm-5">
            <select class="form-control" name="countrySelectBox">
                <option value="US">United States</option>
                <option value="AT">Austria</option>
                <option value="BR">Brazil</option>
                <option value="CA">Canada</option>
                <option value="CZ">Czech Republic</option>
                <option value="DK">Denmark</option>
                <option value="FR">French</option>
                <option value="DE">Germany</option>
                <option value="IT">Italy</option>
                <option value="IE">Ireland</option>
                <option value="MA">Morocco</option>
                <option value="NL">Netherlands</option>
                <option value="PT">Portugal</option>
                <option value="RO">Romania</option>
                <option value="RU">Russia</option>
                <option value="SG">Singapore</option>
                <option value="SK">Slovakia</option>
                <option value="SE">Sweden</option>
                <option value="CH">Switzerland</option>
                <option value="GB">United Kingdom</option>
                
            </select>
        </div>
    </div>

    <div class="form-group">
        <label class="col-sm-3 control-label">Postal code</label>
        <div class="col-sm-5">
            <input type="text" class="form-control" name="postalCode" />
        </div>
    </div>
</form>
$(document).ready(function() {
    $('#zipCodeForm')
        .bootstrapValidator({
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                postalCode: {
                    validators: {
                        zipCode: {
                            country: 'countrySelectBox',
                            message: 'The value is not valid %s postal code'
                        }
                    }
                }
            }
        })
        // Revalidate postal code when changing the country
        .on('change', '[name="countrySelectBox"]', function(e) {
            $('#zipCodeForm').bootstrapValidator('revalidateField', 'postalCode');
        });
});
<form id="zipCodeForm" class="form-horizontal"
    data-bv-feedbackicons-valid="glyphicon glyphicon-ok"
    data-bv-feedbackicons-invalid="glyphicon glyphicon-remove"
    data-bv-feedbackicons-validating="glyphicon glyphicon-refresh">

    <div class="form-group">
        <label class="col-sm-3 control-label">Country</label>
        <div class="col-sm-5">
            <select class="form-control" name="countrySelectBox">
                <option value="US">United States</option>
                <option value="AT">Austria</option>
                <option value="BR">Brazil</option>
                <option value="CA">Canada</option>
                <option value="CZ">Czech Republic</option>
                <option value="DK">Denmark</option>
                <option value="FR">French</option>
                <option value="DE">Germany</option>
                <option value="IT">Italy</option>
                <option value="IE">Ireland</option>
                <option value="MA">Morocco</option>
                <option value="NL">Netherlands</option>
                <option value="PT">Portugal</option>
                <option value="RO">Romania</option>
                <option value="RU">Russia</option>
                <option value="SG">Singapore</option>
                <option value="SK">Slovakia</option>
                <option value="SE">Sweden</option>
                <option value="CH">Switzerland</option>
                <option value="GB">United Kingdom</option>
                
            </select>
        </div>
    </div>

    <div class="form-group">
        <label class="col-sm-3 control-label">Postal code</label>
        <div class="col-sm-5">
            <input type="text" class="form-control" name="postalCode"
                data-bv-zipcode="true"
                data-bv-zipcode-country="countrySelectBox"
                data-bv-zipcode-message="The value is not valid %s postal code" />
        </div>
    </div>
</form>

<script>
$(document).ready(function() {
    $('#zipCodeForm')
        .bootstrapValidator()
        // Revalidate phone number when changing the country
        .on('change', '[name="countrySelectBox"]', function(e) {
            $('#zipCodeForm').bootstrapValidator('revalidateField', 'postalCode');
        });
});
</script>

Related validators

The following validators might be useful to you: