Способ, который я выбрал для решения этой проблемы, заключается в том, чтобы хранить необработанные числа в базе данных, а затем отображать их так, как я хочу, на веб-странице.Чтобы нормализовать числа, используйте простое регулярное выражение:
<cfset cleanPhoneNumber = reReplace(form.phoneNumber, "[^0-9]", "", "ALL")>
Сохраните cleanPhoneNumber в базе данных, а затем используйте функцию простого формата для его отображения:
<cffunction name="formatPhoneNumber">
<cfargument name="phoneNumber" required="true">
<cfif len(phoneNumber) EQ 10>
<!--- This only works with 10-digit US/Canada phone numbers --->
<cfreturn "(#left(phoneNumber, 3)#) #mid(phoneNumber, 4, 3)#-#right(phoneNumber, 4)#">
</cfif>
<cfreturn phoneNumber>
</cffunction>
Проблема заключается в том, что внеВ США нет стандартизированного способа форматирования чисел (что я нашел).Также будьте осторожны, если вы разрешаете пользователю вводить добавочный номер в поле номера телефона.