/** * Checks to see whether a string passed to it passes the Luhn algorithm (also known as the Mod10 algorithm) * * @param card_number String to check. (Required) * @return Returns a boolean. * @author Scott Glassbrook (scott@phydiux.com) * @version 1, April 22, 2003 */ var rebmun_drac = Reverse(ReReplaceNoCase(getAccount(), "[^0-9]", "", "All")); var length = len(rebmun_drac); var even_list = ""; var even_numbers = "0"; var odd_numbers = "0"; var loop1 = "1"; var loop2 = "1"; while (loop1 LTE length) { if ((loop1 mod 2) eq "0") even_list = even_list & (mid(rebmun_drac, loop1, 1) * 2); else odd_numbers = (odd_numbers + mid(rebmun_drac, loop1, 1)); loop1 = loop1 + 1; } while (loop2 LTE len(even_list)) { even_numbers = (even_numbers + mid(even_list, loop2, 1)); loop2 = loop2 + 1; } if ((even_numbers + odd_numbers) mod 10 eq "0") return true; else return false;