Browse Source

#179: Validate Maltese VAT number

phuoc 12 years ago
parent
commit
2c78f0757e
3 changed files with 43 additions and 1 deletions
  1. 21 0
      dist/js/bootstrapValidator.js
  2. 1 1
      dist/js/bootstrapValidator.min.js
  3. 21 0
      src/js/validator/vat.js

+ 21 - 0
dist/js/bootstrapValidator.js

@@ -2516,6 +2516,27 @@
         _isValidLUVat: function(value) {
         _isValidLUVat: function(value) {
             value = value.substr(2);
             value = value.substr(2);
             return (value.substr(0, 6) % 89 == value.substr(6, 2));
             return (value.substr(0, 6) % 89 == value.substr(6, 2));
+        },
+
+        /**
+         * Validate Maltese VAT number
+         * Examples:
+         * - Valid: MT11679112
+         * - Invalid: MT11679113
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _isValidMTVat: function(value) {
+            value = value.substr(2);
+            var sum    = 0,
+                weight = [3, 4, 6, 7, 8, 9, 10, 1];
+
+            for (var i = 0; i < 8; i++) {
+                sum += parseInt(value.charAt(i)) * weight[i];
+            }
+
+            return (sum % 37 == 0);
         }
         }
     };
     };
 }(window.jQuery));
 }(window.jQuery));

File diff suppressed because it is too large
+ 1 - 1
dist/js/bootstrapValidator.min.js


+ 21 - 0
src/js/validator/vat.js

@@ -142,6 +142,27 @@
         _isValidLUVat: function(value) {
         _isValidLUVat: function(value) {
             value = value.substr(2);
             value = value.substr(2);
             return (value.substr(0, 6) % 89 == value.substr(6, 2));
             return (value.substr(0, 6) % 89 == value.substr(6, 2));
+        },
+
+        /**
+         * Validate Maltese VAT number
+         * Examples:
+         * - Valid: MT11679112
+         * - Invalid: MT11679113
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _isValidMTVat: function(value) {
+            value = value.substr(2);
+            var sum    = 0,
+                weight = [3, 4, 6, 7, 8, 9, 10, 1];
+
+            for (var i = 0; i < 8; i++) {
+                sum += parseInt(value.charAt(i)) * weight[i];
+            }
+
+            return (sum % 37 == 0);
         }
         }
     };
     };
 }(window.jQuery));
 }(window.jQuery));