|
@@ -3857,6 +3857,7 @@
|
|
|
* - US (United State)
|
|
* - US (United State)
|
|
|
* - CA (Canada)
|
|
* - CA (Canada)
|
|
|
* - DK (Denmark)
|
|
* - DK (Denmark)
|
|
|
|
|
+ * - GB (United Kingdom)
|
|
|
* - SE (Sweden)
|
|
* - SE (Sweden)
|
|
|
* @returns {Boolean}
|
|
* @returns {Boolean}
|
|
|
*/
|
|
*/
|
|
@@ -3872,12 +3873,55 @@
|
|
|
return /(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}\s?[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}/i.test(value);
|
|
return /(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}\s?[0-9]{1}(?:A|B|C|E|G|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}/i.test(value);
|
|
|
case 'DK':
|
|
case 'DK':
|
|
|
return /^(DK(-|\s)?)?\d{4}$/i.test(value);
|
|
return /^(DK(-|\s)?)?\d{4}$/i.test(value);
|
|
|
|
|
+ case 'GB':
|
|
|
|
|
+ return this._gb(value);
|
|
|
case 'SE':
|
|
case 'SE':
|
|
|
return /^(S-)?\d{3}\s?\d{2}$/i.test(value);
|
|
return /^(S-)?\d{3}\s?\d{2}$/i.test(value);
|
|
|
case 'US':
|
|
case 'US':
|
|
|
default:
|
|
default:
|
|
|
return /^\d{4,5}([\-]\d{4})?$/.test(value);
|
|
return /^\d{4,5}([\-]\d{4})?$/.test(value);
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Validate United Kingdom postcode
|
|
|
|
|
+ * Examples:
|
|
|
|
|
+ * - Standard: EC1A 1BB, W1A 1HQ, M1 1AA, B33 8TH, CR2 6XH, DN55 1PT
|
|
|
|
|
+ * - Special cases:
|
|
|
|
|
+ * AI-2640, ASCN 1ZZ, GIR 0AA
|
|
|
|
|
+ *
|
|
|
|
|
+ * @see http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom
|
|
|
|
|
+ * @param {String} value The postcode
|
|
|
|
|
+ * @returns {Boolean}
|
|
|
|
|
+ */
|
|
|
|
|
+ _gb: function(value) {
|
|
|
|
|
+ var firstChar = '[ABCDEFGHIJKLMNOPRSTUWYZ]', // Does not accept QVX
|
|
|
|
|
+ secondChar = '[ABCDEFGHKLMNOPQRSTUVWXY]', // Does not accept IJZ
|
|
|
|
|
+ thirdChar = '[ABCDEFGHJKPMNRSTUVWXY]',
|
|
|
|
|
+ fouthChar = '[ABEHMNPRVWXY]',
|
|
|
|
|
+ fifthChar = '[ABDEFGHJLNPQRSTUWXYZ]',
|
|
|
|
|
+ regexps = [
|
|
|
|
|
+ // AN NAA, ANN NAA, AAN NAA, AANN NAA format
|
|
|
|
|
+ new RegExp('^(' + firstChar + '{1}' + secondChar + '?[0-9]{1,2})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'),
|
|
|
|
|
+ // ANA NAA
|
|
|
|
|
+ new RegExp('^(' + firstChar + '{1}[0-9]{1}' + thirdChar + '{1})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'),
|
|
|
|
|
+ // AANA NAA
|
|
|
|
|
+ new RegExp('^(' + firstChar + '{1}' + secondChar + '{1}?[0-9]{1}' + fouthChar + '{1})(\\s*)([0-9]{1}' + fifthChar + '{2})$', 'i'),
|
|
|
|
|
+
|
|
|
|
|
+ new RegExp('^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$', 'i'), // BFPO postcodes
|
|
|
|
|
+ /^(GIR)(\s*)(0AA)$/i, // Special postcode GIR 0AA
|
|
|
|
|
+ /^(BFPO)(\s*)([0-9]{1,4})$/i, // Standard BFPO numbers
|
|
|
|
|
+ /^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i, // c/o BFPO numbers
|
|
|
|
|
+ /^([A-Z]{4})(\s*)(1ZZ)$/i, // Overseas Territories
|
|
|
|
|
+ /^(AI-2640)$/i // Anguilla
|
|
|
|
|
+ ];
|
|
|
|
|
+ for (var i = 0; i < regexps.length; i++) {
|
|
|
|
|
+ if (regexps[i].test(value)) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
}(window.jQuery));
|
|
}(window.jQuery));
|