Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/additional/postalCodeCA.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
* @cat Plugins/Validate/Methods
*/
$.validator.addMethod( "postalCodeCA", function( value, element ) {
return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test( value );
return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test( value );
}, "Please specify a valid postal code" );
16 changes: 10 additions & 6 deletions test/methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -1181,12 +1181,16 @@ test("currency", function() { // Works with any symbol

test("postalCodeCA", function() {
var method = methodTest("postalCodeCA");
ok( method( "H0H 0H0"), "Valid CA Postal Code; Single space" );
ok( !method( "H0H0H0"), "Inalid CA Postal Code; No space" );
ok( !method( "H0H-0H0"), "Invalid CA Postal Code; Single dash" );
ok( !method( "H0H 0H"), "Invalid CA Postal Code; Too Short" );
ok( !method( "Z0H 0H"), "Invalid CA Postal Code; Only 'ABCEGHJKLMNPRSTVXY' are valid starting characters" );
ok( !method( "h0h 0h0"), "Invalid CA Postal Code; Only upper case characters" );
ok( method( "H0H0H0"), "Valid Canadian postal code: all upper case with no space" );
ok( method( "H0H 0H0"), "Valid Canadian postal code: all upper case with one space" );
ok( method( "H0H 0H0"), "Valid Canadian postal code: all upper case with multiple spaces" );
ok( method( "h0h 0h0"), "Valid Canadian postal code: all lower case with space" );
ok( method( "h0h0h0" ), "Valid Canadian postal code: all lower case with no space" );
ok( !method( "H0H-0H0"), "Invalid Canadian postal code: dash used as separator" );
ok( !method( "H0H 0H"), "Invalid Canadian postal code: too short" );
ok( !method( "Z0H 0H0"), "Invalid Canadian postal code: only 'ABCEGHJKLMNPRSTVXY' are valid first characters for the Forward Sorting Area" );
ok( !method( "H0D 0H0"), "Invalid Canadian postal code: only 'ABCEGHJKLMNPRSTVWXYZ' are valid third characters for the Forward Sorting Area" );
ok( !method( "H0H 0D0"), "Invalid Canadian postal code: only 'ABCEGHJKLMNPRSTVWXYZ' are valid second characters for the Local Delivery Unit" );
});

test("stateUS", function() {
Expand Down