 | 10 April 2007 17:48 (EST) Australian Business Number (ABN) validation function, based on ABN format description from Australian Taxation Office (ATO): <cffunction name="isValidABN" returntype="boolean" access="public" output="false"> <cfargument name="ABN" type="string" required="true" /> <cfset var aWeight = listtoarray("10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19") /> <cfset var sABN = "" /> <cfset var i = 0 /> <cfset var hashSum = 0 /> <cfset sABN = rereplace(arguments.ABN,"[^\d]","","all") /> <cfif len(sABN) eq 11> <cfloop index="i" from="1" to="11"> <cfset hashSum = hashSum + aWeight[i]*(mid(sABN,i,1)-iif(i eq 1,de(1),de(0))) /> </cfloop> <cfif hashSum mod 89 eq 0> <cfreturn true /> </cfif> </cfif> <cfreturn false /> </cffunction> | | |  |