VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > ASPnet >
  • asp.net教程之用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> 

相关教程