日期:2014-05-17  浏览次数:20899 次

ASP问题,根据传过来的电话号码,做个判断!,急求
在asp的服务器端里,里面可得到电话号码和区号,我需要写个代码,根据得到的电话前的区号,判断它是哪省市的!再根据省市,判断他是那区域的。
      大概就是根据前面得到的一串数字做个判断,并把结果返回在后面的窗口里(注,北京本地是没区号的,比较特别)
      区号所代表的省市,在另外的telCode.xml里。

------解决方案--------------------
用 asp 操作 XML 啊

简单 举个例:
1.xml 如下:

<?xml version= "1.0 " encoding= "gb2312 "?>

<languageRoot>
<数据 id= "021 "> 武汉 </数据>
<数据 id= "0791 "> 南昌 </数据>
<数据 id= "010 "> 北京 </数据>
</languageRoot>


1.asp 如下:

<%
CallerID=request( "CallerID ") '获取电话号码


Set objXML = Server.CreateObject( "Msxml2.DOMDocument ")
objXML.async = False
loadResult = objXML.load(Server.MapPath( "1.xml "))
if not loadResult then
Response.write "装载XML文件错误 "
Response.end
end If
Set objNodes = objXML.getElementsByTagName( "languageRoot ")


For i = 0 To objNodes(0).childNodes.length -1
If objNodes(0).childNodes(i).getattribute( "id ")=CallerID Then
Response.write objNodes(0).childNodes(i).text '扫印
End if
next


Set objNodes = Nothing
Set objXML = Nothing

%>


测试 在浏器输入 http://IP/目录/1.asp?CallerID=010
------解决方案--------------------
<script language= "vbscript ">
Dim strTel '区号+电话号码
strTel = "12345678 "

Dim strTel1 '区号
Dim strTel2 '电话号码

Num = left(strTel, 3)
select case Num
Case "010 ", "021 ", "022 ", "023 " '直辖市
strTel1 = left(strTel, 3)
strTel2 = Mid(strTel, 4)
Case Else
If Len(Mid(strTel, 5)) < 6 Then
strTel1 = "010 "
strTel2 = strTel
Else
strTel1 = left(strTel, 4)
strTel2 = Mid(StrTel, 5)
End If
End Select

document.write strTel1 & "- " & strTel2
</script>

不知道判断的全不全.草写了一个,你自己用数据试试吧.