function isValidGUI(taxId) {
var invalidList = "00000000,11111111";
if (/^\d{8}$/.test(taxId) == false || invalidList.indexOf(taxId) != -1) {
return false;
}
var validateOperator = [1, 2, 1, 2, 1, 2, 4, 1],
sum = 0,
calculate = function(product) { // 個位數 + 十位數
var ones = product % 10,
tens = (product - ones) / 10;
return ones + tens;
};
for (var i = 0; i < validateOperator.length; i++) {
sum += calculate(taxId[i] * validateOperator[i]);
}
return sum % 10 == 0 || (taxId[6] == "7" && (sum + 1) % 10 == 0);
};
var inputList = $("textarea").val().split(",");
for (var s = 0, e = inputList.length; s < e; s++) {
$("<p>").html(inputList[s] + " is " + isValidGUI(inputList[s])).appendTo("body");
}
http://www.dotblogs.com.tw/grence/archive/2012/12/11/85567.aspx
http://jsfiddle.net/J4gPY/