mirror of
https://github.com/jquery-validation/jquery-validation.git
synced 2025-12-24 12:13:59 +01:00
Improved the UK postcode method to filter out more invalid postcodes. Closes #682
Old one allows integers between 5-7 digits which is not valid. New one is still case insensitive and allows spaces & fixes the above issue.
This commit is contained in:
committed by
Jörn Zaefferer
parent
cc810a217d
commit
bbbf87903d
@@ -389,11 +389,10 @@ jQuery.validator.addMethod('phonesUK', function(phone_number, element) {
|
||||
// A number of very detailed GB telephone number RegEx patterns can also be found at:
|
||||
// http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
|
||||
|
||||
//Matches UK postcode. based on http://snipplr.com/view/3152/postcode-validation/
|
||||
jQuery.validator.addMethod('postcodeUK', function(postcode, element) {
|
||||
postcode = (postcode.toUpperCase()).replace(/\s+/g,'');
|
||||
return this.optional(element) || postcode.match(/^([^QZ][^IJZ]{0,1}\d{1,2})(\d[^CIKMOV]{2})$/) || postcode.match(/^([^QV]\d[ABCDEFGHJKSTUW])(\d[^CIKMOV]{2})$/) || postcode.match(/^([^QV][^IJZ]\d[ABEHMNPRVWXY])(\d[^CIKMOV]{2})$/) || postcode.match(/^(GIR)(0AA)$/) || postcode.match(/^(BFPO)(\d{1,4})$/) || postcode.match(/^(BFPO)(C\/O\d{1,3})$/);
|
||||
}, 'Please specify a valid postcode');
|
||||
// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
|
||||
jQuery.validator.addMethod('postcodeUK', function(value, element) {
|
||||
return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value);
|
||||
}, 'Please specify a valid UK postcode');
|
||||
|
||||
// TODO check if value starts with <, otherwise don't try stripping anything
|
||||
jQuery.validator.addMethod("strippedminlength", function(value, element, param) {
|
||||
|
||||
Reference in New Issue
Block a user