ソースを参照

#179: Validate Dutch VAT number

nghuuphuoc 11 年 前
コミット
79130e87b6
3 ファイル変更55 行追加1 行削除
  1. 27 0
      dist/js/bootstrapValidator.js
  2. 1 1
      dist/js/bootstrapValidator.min.js
  3. 27 0
      src/js/validator/vat.js

+ 27 - 0
dist/js/bootstrapValidator.js

@@ -3180,6 +3180,33 @@
         },
 
         /**
+         * Validate Dutch VAT number
+         * Examples:
+         * - Valid: NL004495445B01
+         * - Invalid: NL123456789B90
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _nl: function(value) {
+            if (!/^NL[0-9]{9}B[0-9]{2}$/.test(value)) {
+               return false;
+            }
+            value = value.substr(2);
+            var sum    = 0,
+                weight = [9, 8, 7, 6, 5, 4, 3, 2];
+            for (var i = 0; i < 8; i++) {
+                sum += parseInt(value.charAt(i)) * weight[i];
+            }
+
+            sum = sum % 11;
+            if (sum > 9) {
+                sum = 0;
+            }
+            return (sum == value.substr(8, 1));
+        },
+
+        /**
          * Validate Polish VAT number
          * Examples:
          * - Valid: PL8567346215

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/js/bootstrapValidator.min.js


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

@@ -806,6 +806,33 @@
         },
 
         /**
+         * Validate Dutch VAT number
+         * Examples:
+         * - Valid: NL004495445B01
+         * - Invalid: NL123456789B90
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _nl: function(value) {
+            if (!/^NL[0-9]{9}B[0-9]{2}$/.test(value)) {
+               return false;
+            }
+            value = value.substr(2);
+            var sum    = 0,
+                weight = [9, 8, 7, 6, 5, 4, 3, 2];
+            for (var i = 0; i < 8; i++) {
+                sum += parseInt(value.charAt(i)) * weight[i];
+            }
+
+            sum = sum % 11;
+            if (sum > 9) {
+                sum = 0;
+            }
+            return (sum == value.substr(8, 1));
+        },
+
+        /**
          * Validate Polish VAT number
          * Examples:
          * - Valid: PL8567346215