当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP实现号码转换

ASP
ASP连接SQL2005数据库连接代码
ASP程序与SQL存储过程结合使用详解
asp 小偷采集程序原理与常用函数方法
防盗链接ASP函数
asp将table生成excel文件(xls)
asp实现新评论自动发短信提示的代码
asp最简单的生成验证码代码
ASP 常见对象总结(熟悉一下利用以后的开发使用)
ASP UTF-8编码生成静态网页的函数
ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
asp Access数据备份,还原,压缩类代码
asp fso操作类
ASP 自动采集实现代码
asp 一些支付接口
ASP 递归调用 已知节点查找根节点的函数
用asp实现读取文件的最后一行的代码
用asp实现的获取文件夹中文件的个数的代码
ASP与Excel结合生成数据表和Chart图的代码
iis7 ASP+Access数据库连接错误
ASP 日期的加减运算实现代码

用ASP实现号码转换


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 122 ::
收藏到网摘: n/a

  <%
'***** 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.d