ソースを参照

Siren and French VAT number validators now reuse luhn helper

phuoc 11 年 前
コミット
7a95c2eac1

+ 5 - 33
dist/js/bootstrapValidator.js

@@ -2057,20 +2057,10 @@
 				return true;
 			}
 
-			var sum    = 0,
-                length = value.length,
-			    tmp;
-			for (var i = 0; i < length; i++) {
-                tmp = parseInt(value.charAt(i), 10);
-				if ((i % 2) == 1) {
-					tmp = tmp * 2;
-					if (tmp > 9) {
-						tmp -= 9;
-					}
-				}
-				sum += tmp;
-			}
-			return (sum % 10 == 0);
+            if (!/^\d{9}$/.test(value)) {
+                return false;
+            }
+            return $.fn.bootstrapValidator.helpers.luhn(value);
 		}
 	};
 }(window.jQuery));
@@ -2925,25 +2915,7 @@
 
             value = value.substr(2);
 
-            // Validate SIREN number first
-            var siren = function(value) {
-                var sum    = 0,
-                    length = value.length,
-			        tmp;
-                for (var i = 0; i < length; i++) {
-                    tmp = parseInt(value.charAt(i), 10);
-                    if ((i % 2) == 1) {
-                        tmp = tmp * 2;
-                        if (tmp > 9) {
-                            tmp -= 9;
-                        }
-                    }
-                    sum += tmp;
-                }
-                return (sum % 10 == 0);
-            };
-
-			if (!siren(value.substr(2))) {
+			if (!$.fn.bootstrapValidator.helpers.luhn(value.substr(2))) {
                 return false;
             }
 

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


+ 4 - 14
src/js/validator/siren.js

@@ -15,20 +15,10 @@
 				return true;
 			}
 
-			var sum    = 0,
-                length = value.length,
-			    tmp;
-			for (var i = 0; i < length; i++) {
-                tmp = parseInt(value.charAt(i), 10);
-				if ((i % 2) == 1) {
-					tmp = tmp * 2;
-					if (tmp > 9) {
-						tmp -= 9;
-					}
-				}
-				sum += tmp;
-			}
-			return (sum % 10 == 0);
+            if (!/^\d{9}$/.test(value)) {
+                return false;
+            }
+            return $.fn.bootstrapValidator.helpers.luhn(value);
 		}
 	};
 }(window.jQuery));

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

@@ -545,25 +545,7 @@
 
             value = value.substr(2);
 
-            // Validate SIREN number first
-            var siren = function(value) {
-                var sum    = 0,
-                    length = value.length,
-			        tmp;
-                for (var i = 0; i < length; i++) {
-                    tmp = parseInt(value.charAt(i), 10);
-                    if ((i % 2) == 1) {
-                        tmp = tmp * 2;
-                        if (tmp > 9) {
-                            tmp -= 9;
-                        }
-                    }
-                    sum += tmp;
-                }
-                return (sum % 10 == 0);
-            };
-
-			if (!siren(value.substr(2))) {
+			if (!$.fn.bootstrapValidator.helpers.luhn(value.substr(2))) {
                 return false;
             }