Regex still leaves extra commas in the string and accepts partial numbers, instead I would use an integer-checking loop:
<cfset url.id = "100,abc,102z,eee,22.5,773"> <cfoutput>#ReReplaceNoCase(URL.ID,"[^0-9,]","","ALL")#<br /></cfoutput> <cfset dirtyIds = listToArray(url.id)> <cfset cleanIds = []> <cfloop array="#dirtyIds#" index="dirtyId"> <cfif isValid("integer",dirtyId)><cfset arrayAppend(cleanIds, dirtyId)></cfif> </cfloop> <cfset url.id = arrayToList(cleanIds)> <cfoutput>#url.id#</cfoutput>
orangepips
source share