本文目录一览:
php 手机号归属地显示查询
网上有很多。。。。要自己写个的话 给你个思路吧:
1. 很多网站都有手机归属查询接口, 或者查询网站
2. 模拟一个正常的请求到某个网站的查询接口
3. 从获取的HTML中 用正则或者其他方法 提取出需要的字符串来。。。
4. 完了。
php根据ip地址查地区
自己以前做过一个程序 根据discuz里面的ip查询改的
/**
* ip地址所属地区计算
* 修改自 discuz
* 使用dicuz tinyipdata数据文件
* 将一些英文提示修改为汉字
* $is_simple true的话显示到市 false显示到网通电信等等
******/
function convertip($ip,$is_simple=true,$ipfile='include/data/ip.dat') {
$return = '';
if( !file_exists($ipfile) ) $ipfile = '../'.$ipfile;
if(preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
$iparray = explode('.', $ip);
if($iparray[0] == 10 || $iparray[0] == 127 || ($iparray[0] == 192 $iparray[1] == 168) || ($iparray[0] == 172 ($iparray[1] = 16 $iparray[1] = 31))) {
return '局域网';
} elseif($iparray[0] 255 || $iparray[1] 255 || $iparray[2] 255 || $iparray[3] 255) {
return 'ERR';
} elseif($is_simple) {
return change_simply_area(convertip_tiny($ip, $ipfile));
}
else {
return convertip_tiny($ip, $ipfile);
}
}
}
/**
* 从ip文件得到ip所属地区
*
* 过滤掉了具体的位置(如 网通/电信/**网吧) 基本到市
***/
function convertip_tiny($ip, $ipdatafile) {
static $fp = NULL, $offset = array(), $index = NULL;
$ipdot = explode('.', $ip);
$ip = pack('N', ip2long($ip));
$ipdot[0] = (int)$ipdot[0];
$ipdot[1] = (int)$ipdot[1];
if($fp === NULL $fp = @fopen($ipdatafile, 'rb')) {
$offset = unpack('Nlen', fread($fp, 4));
$index = fread($fp, $offset['len'] - 4);
} elseif($fp == FALSE) {
return '- Invalid IP data file';
}
$length = $offset['len'] - 1028;
$start = unpack('Vlen', $index[$ipdot[0] * 4] . $index[$ipdot[0] * 4 + 1] . $index[$ipdot[0] * 4 + 2] . $index[$ipdot[0] * 4 + 3]);
for ($start = $start['len'] * 8 + 1024; $start $length; $start += 8) {
if ($index{$start} . $index{$start + 1} . $index{$start + 2} . $index{$start + 3} = $ip) {
$index_offset = unpack('Vlen', $index{$start + 4} . $index{$start + 5} . $index{$start + 6} . "\x0");
$index_length = unpack('Clen', $index{$start + 7});
break;
}
}
fseek($fp, $offset['len'] + $index_offset['len'] - 1024);
if($index_length['len']) {
return mb_convert_encoding(fread($fp, $index_length['len']),'utf-8','gb2312'); //将读出的gb编码数据转成utf-8并返回
} else {
return '未知';
}
}
function change_simply_area($area) {
$tmp = explode(' ',$area); //过滤掉一些具体信息
return $tmp[0];
}
里面那个ipfile你可以去下载一个discuz 在 ipdata目录里面有wry.dat的文件就是了 其实这个就是网上用的最多的那个纯真版数据库 很多显示ip的qq用的也是那个
这两个函数的原型参考 discuz 里面 include\misc.func.php
共同学习进步 :)
php正则 匹配 手机、座机号码
注:现在有很多座机都是8位了,除区号 的第一位是取值范围是3-9 这是国家规定的,
第二位 分省市、县取值不同。省会城市和大城市的区号三位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取单数“1、3、5、7、9”共五个数字,第三位随意。
各县城及小城市的区号四位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取双数“2、4、6、8、0”共五个数字,第三、四位随意。
//$str = "028-8711934"; 大陆7位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 4位区号
//$str = "00852-87119345"; 香港8位座机
//$str = "00852-8711934"; 香港7位座机
//手机 13、14、15、18 开头的
........
这里就不多列举了。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[1-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";
if(preg_match($mode, $str)){
echo "匹配";
}
else{
echo "不匹配";
}上面那个正则有到问题 取值范围差了一个
下面这个 ok。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[0-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";
全国电话区号查询表?
1. 全国邮编与长途区号速查系统 6.88
全免费的邮政编码、电话区号、手机所在地、万年历及天气查询系统
download.pchome.net/home/infoman/16858.html
2. 全国邮编与长途区号速查系统 V6.96
全免费的邮政编码、电话区号查询系统,该软件是由水晶
3. 邮编区号查询 V2.6
查询全国2500多个地区的邮政编码和电话区号及200个国家
4. 区号邮编易查询 2002版
能够轻松地查询全国近2500个地区的电话区号、邮政编码信息
download.pchome.net/home/infoman/10710.html
5. 区号邮编身份证手机归属地查询器 1.4
本软件可查询全国各地邮政编码、电话区号以及身份证号的查询(可显示新的身份证号),
6. 全国邮编与长途区号速查系统 V6.96
全免费的邮政编码、电话区号查询系统,该软件是由水晶情缘工作室推出的一款完全免
download.21cn.com/list.php?id=33919
7. 区号邮编身份证手机归属地查询器 V1.4
本软件可查询全国各地邮政编码、电话区号以及身份证号
8. 邮编与长途区号速查 2.0
可查询全国各县市级所在省份的简称、各县市的邮政编码、国内长途区号(包括台湾省及香
9. EMS经理3000-MFC版 1.3.1.2
专门用来管理、打印EMS详情单的软件,附带全国邮政编码和各城市电话区号查询工具。
10. 邮编区号查询 2.6
查询全国2500多个地区的邮政编码和电话区号及200个国家的区号及时差。
11. 邮政编码电话区号查询Web版 1.0
搜集全国60000多个地方邮政编码,精确到乡镇村、街道、区。是当今网上最全的邮政编码
12. 易友全国通2004 1.0
用于查询全国长途区号和邮政编码。近2500条记录覆盖全国,查询方便功能强大。
13. EMS经理3000-MFC版 V1.3.1.2
专门用来管理、打印EMS详情单的软件。附带全国邮政编码和各城市电话区号查询工具?
download.21cn.com/list.php?id=30198
14. EMS经理 2000
EMS经理是专门用来管理、打印EMS特快专递详情单,附带全国电话区号和邮政 编码查询工
dl.pconline.com.cn/html/1/6/dlid=6786dltypeid=1pn=0.html
15. 水晶情缘全国城市天气预报 6.92
水晶情缘-全国城市天气预报可以查询全国2400多个县、市、地区邮政编码、电话区号、万
dl.pconline.com.cn/html/1/5/dlid=12715dltypeid=1pn=0.html
16. 邮编区号查询 2.6
查询全国2500多个地区的邮政编码和电话区号及200个国家的区号及时差,能够轻轻松新增
dl.pconline.com.cn/html/1/5/dlid=2025dltypeid=1pn=0.html
17. 区号邮编易查询 2002
使用本软件,能够轻松地查询全国近2500个地区的电话区号、邮政编码信息。软件内建强大
dl.pconline.com.cn/html/1/1/dlid=6711dltypeid=1pn=0.html
18. 全国邮编与长途区号速查系统 6.94
全免费的邮政编码、电话区号查询系统。
dl.pconline.com.cn/html/1/6/dlid=12816dltypeid=1pn=0.html
19. 全国邮政编码查询
20. 大荔热线全国邮政编码广告覆盖查询