设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

用ASP实现号码转换

作者:佚名 出处:网络转载 时间:01-26 点击:

内容载入中...
 <%
“*****  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>    
收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息