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>
不知道判断的全不全.草写了一个,你自己用数据试试吧.