用ASP实现号码转换
类别: ASP教程
<%
\'***** BEGIN FUNCTION AREA *****
\' Formats a given 10 digit number into a nice looking phone number
\' Example: given strNumber of 8005551212 you get (800) 555-1212
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
\'***** END FUNCTION AREA *****
%>
<%\' Runtime Code
Dim strNumberToFormat \' The phone number we pass to the function
\' Retrieve the requested number or set it to the default
If Request.QueryString("phone_number") <> "" Then
strNumberToFormat = Request.QueryString("phone_number")
Else
strNumberToFormat = "1-800-555-1212"
End If
\' We need to turn this on if we want to trap errors.
\' Otherwise the script would generate an error if the input
\' number wasn\'t correct.
On Error Resume Next
%>
<TABLE BORDER="1">
<TR>
<TD>Phone number before formatting:</TD>
<TD><%= strNumberToFormat %></TD>
</TR>
<TR>
<TD>Phone number after formatting:</TD>
<TD>
<%
\' Call the function and output the results
Response.Write FormatPhoneNumber(strNumberToFormat)
\' Check for an error and display the message if one occurred
If Err.number Then Response.Write Err.description
%>
</TD>
</TR>
</TABLE>
<FORM ACTION="39.asp" METHOD="get">
Phone number to format: <INPUT TYPE="text" NAME="phone_number" VALUE="<%= strNumberToFormat %>">
<INPUT type="submit" value="Submit">
</FORM>
\'***** BEGIN FUNCTION AREA *****
\' Formats a given 10 digit number into a nice looking phone number
\' Example: given strNumber of 8005551212 you get (800) 555-1212
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
\'***** END FUNCTION AREA *****
%>
<%\' Runtime Code
Dim strNumberToFormat \' The phone number we pass to the function
\' Retrieve the requested number or set it to the default
If Request.QueryString("phone_number") <> "" Then
strNumberToFormat = Request.QueryString("phone_number")
Else
strNumberToFormat = "1-800-555-1212"
End If
\' We need to turn this on if we want to trap errors.
\' Otherwise the script would generate an error if the input
\' number wasn\'t correct.
On Error Resume Next
%>
<TABLE BORDER="1">
<TR>
<TD>Phone number before formatting:</TD>
<TD><%= strNumberToFormat %></TD>
</TR>
<TR>
<TD>Phone number after formatting:</TD>
<TD>
<%
\' Call the function and output the results
Response.Write FormatPhoneNumber(strNumberToFormat)
\' Check for an error and display the message if one occurred
If Err.number Then Response.Write Err.description
%>
</TD>
</TR>
</TABLE>
<FORM ACTION="39.asp" METHOD="get">
Phone number to format: <INPUT TYPE="text" NAME="phone_number" VALUE="<%= strNumberToFormat %>">
<INPUT type="submit" value="Submit">
</FORM>
- 上一篇: 用ASP进行网络打印功能
- 下一篇: 用ASP生成WML
-= 资 源 教 程 =-
文 章 搜 索