summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/validator/lib/isBIC.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/validator/lib/isBIC.js')
-rw-r--r--includes/external/addressbook/node_modules/validator/lib/isBIC.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/validator/lib/isBIC.js b/includes/external/addressbook/node_modules/validator/lib/isBIC.js
new file mode 100644
index 0000000..e626535
--- /dev/null
+++ b/includes/external/addressbook/node_modules/validator/lib/isBIC.js
@@ -0,0 +1,31 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = isBIC;
+
+var _assertString = _interopRequireDefault(require("./util/assertString"));
+
+var _isISO31661Alpha = require("./isISO31661Alpha2");
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+// https://en.wikipedia.org/wiki/ISO_9362
+var isBICReg = /^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$/;
+
+function isBIC(str) {
+ (0, _assertString.default)(str); // toUpperCase() should be removed when a new major version goes out that changes
+ // the regex to [A-Z] (per the spec).
+
+ var countryCode = str.slice(4, 6).toUpperCase();
+
+ if (!_isISO31661Alpha.CountryCodes.has(countryCode) && countryCode !== 'XK') {
+ return false;
+ }
+
+ return isBICReg.test(str);
+}
+
+module.exports = exports.default;
+module.exports.default = exports.default; \ No newline at end of file