Function FormatPhoneNumber(strNumber)
Dim strInput ' String to hold our entered number
Dim strTemp ' Temporary string to hold our working text
Dim strCurrentChar ' Var for storing each character for eval.
Dim I ' Looping var
' Uppercase all characters for consistency
strInput = UCase(strNumber)
' To be able to handle some pretty bad formatting we strip out all characters except for chars A to Z and digits 0 to 9 before proceeding. I left in the chars for stupid slogan
' numbers like 1-800-GET-CASH etc...
For I = 1 To Len(strInput)
strCurrentChar = Mid(strInput, I, 1)
' Numbers (0 to 9)
If Asc("0") <= Asc(strCurrentChar) And Asc(strCurrentChar) <= Asc("9") Then
strTemp = strTemp & strCurrentChar
End If
' Upper Case Chars (A to Z)
If Asc("A") <= Asc(strCurrentChar) And Asc(strCurrentChar) <= Asc("Z") Then
strTemp = strTemp & strCurrentChar
End If
Next 'I
' Swap strTemp back to strInput for next set of validation
' I also clear strTemp just for good measure!
strInput = strTemp
strTemp = ""
' Remove leading 1 if applicable
If Len(strInput) = 11 And Left(strInput, 1) = "1" Then
strInput = Right(strInput, 10)
End If
' Error catch to make sure strInput is proper length now that we've finished manipulating it.
If Not Len(strInput) = 10 Then
' Handle errors as you see fit. This script raises a real error so you can handle it like any other runtime error, but you could also pass an error back via the function's return value or just display a message... your choice!
Err.Raise 1, "FormatPhoneNumber function", _
"The phone number to be formatted must be a valid 10 digit US phone number!"
' Two alternative error techniques!
'Response.Write " <B >The phone number to be formatted must be a valid phone number! </B >"
'Response.End
' Note if you use this you'll also need to check for this below so you don't overwrite it!
'strTemp = " <B >The phone number to be formatted must be a valid phone number! </B >"
End If
' If an error occurred then the rest of this won't get processed!
' Build the output string formatted to our liking!
' (xxx) xxx-xxxx
strTemp = "(" ' "("
strTemp = strTemp & Left(strInput, 3) ' Area code
strTemp = strTemp & ") " ' ") "
strTemp = strTemp & Mid(strInput, 4, 3) ' Exchange
strTemp = strTemp & "-" ' "-"
strTemp = strTemp & Right(strInput, 4) ' 4 digit part
' Set return value
FormatPhoneNumber = strTemp
End Function
Dim strInput ' String to hold our entered number
Dim strTemp ' Temporary string to hold our working text
Dim strCurrentChar ' Var for storing each character for eval.
Dim I ' Looping var
' Uppercase all characters for consistency
strInput = UCase(strNumber)
' To be able to handle some pretty bad formatting we strip out all characters except for chars A to Z and digits 0 to 9 before proceeding. I left in the chars for stupid slogan
' numbers like 1-800-GET-CASH etc...
For I = 1 To Len(strInput)
strCurrentChar = Mid(strInput, I, 1)
' Numbers (0 to 9)
If Asc("0") <= Asc(strCurrentChar) And Asc(strCurrentChar) <= Asc("9") Then
strTemp = strTemp & strCurrentChar
End If
' Upper Case Chars (A to Z)
If Asc("A") <= Asc(strCurrentChar) And Asc(strCurrentChar) <= Asc("Z") Then
strTemp = strTemp & strCurrentChar
End If
Next 'I
' Swap strTemp back to strInput for next set of validation
' I also clear strTemp just for good measure!
strInput = strTemp
strTemp = ""
' Remove leading 1 if applicable
If Len(strInput) = 11 And Left(strInput, 1) = "1" Then
strInput = Right(strInput, 10)
End If
' Error catch to make sure strInput is proper length now that we've finished manipulating it.
If Not Len(strInput) = 10 Then
' Handle errors as you see fit. This script raises a real error so you can handle it like any other runtime error, but you could also pass an error back via the function's return value or just display a message... your choice!
Err.Raise 1, "FormatPhoneNumber function", _
"The phone number to be formatted must be a valid 10 digit US phone number!"
' Two alternative error techniques!
'Response.Write " <B >The phone number to be formatted must be a valid phone number! </B >"
'Response.End
' Note if you use this you'll also need to check for this below so you don't overwrite it!
'strTemp = " <B >The phone number to be formatted must be a valid phone number! </B >"
End If
' If an error occurred then the rest of this won't get processed!
' Build the output string formatted to our liking!
' (xxx) xxx-xxxx
strTemp = "(" ' "("
strTemp = strTemp & Left(strInput, 3) ' Area code
strTemp = strTemp & ") " ' ") "
strTemp = strTemp & Mid(strInput, 4, 3) ' Exchange
strTemp = strTemp & "-" ' "-"
strTemp = strTemp & Right(strInput, 4) ' 4 digit part
' Set return value
FormatPhoneNumber = strTemp
End Function
given strNumber of 8005551212 you get (800) 555-1212
Views 2,793
Downloads 1,058
CodeID
DB ID
ANmarAmdeen
602
Revisions
v1.0
Saturday
January
5
2019