ソースを参照

#179: Validate Serbian VAT number

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

+ 27 - 1
dist/js/bootstrapValidator.js

@@ -3207,8 +3207,9 @@
         },
 
         /**
-         * Validate Norway VAT number
+         * Validate Norwegian VAT number
          *
+         * @see http://www.brreg.no/english/coordination/number.html
          * @param {String} value VAT number
          * @return {Boolean}
          */
@@ -3284,6 +3285,31 @@
         },
 
         /**
+         * Validate Serbian VAT number
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _rs: function(value) {
+            if (!/^RS[0-9]{9}$/.test(value)) {
+                return false;
+            }
+
+            value = value.substr(2);
+            var sum  = 10,
+                temp = 0;
+            for (var i = 0; i < 8; i++) {
+                temp = (parseInt(value.charAt(i)) + sum) % 10;
+                if (temp == 0) {
+                    temp = 10;
+                }
+                sum = (2 * temp) % 11;
+            }
+
+            return ((sum + parseInt(value.substr(8, 1))) % 10 == 1);
+        },
+
+        /**
          * Validate Slovenian VAT number
          * Examples:
          * - Valid: SI50223054

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


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

@@ -833,8 +833,9 @@
         },
 
         /**
-         * Validate Norway VAT number
+         * Validate Norwegian VAT number
          *
+         * @see http://www.brreg.no/english/coordination/number.html
          * @param {String} value VAT number
          * @return {Boolean}
          */
@@ -910,6 +911,31 @@
         },
 
         /**
+         * Validate Serbian VAT number
+         *
+         * @param {String} value VAT number
+         * @return {Boolean}
+         */
+        _rs: function(value) {
+            if (!/^RS[0-9]{9}$/.test(value)) {
+                return false;
+            }
+
+            value = value.substr(2);
+            var sum  = 10,
+                temp = 0;
+            for (var i = 0; i < 8; i++) {
+                temp = (parseInt(value.charAt(i)) + sum) % 10;
+                if (temp == 0) {
+                    temp = 10;
+                }
+                sum = (2 * temp) % 11;
+            }
+
+            return ((sum + parseInt(value.substr(8, 1))) % 10 == 1);
+        },
+
+        /**
          * Validate Slovenian VAT number
          * Examples:
          * - Valid: SI50223054