PHP JS Ip地址及域名格式检测代码


Posted in PHP onSeptember 27, 2013

PHP IP地址格式检测函数

function checkIp($ip){
    $ip = str_replace(" ", "", $ip);
    $ip = strtolower($ip);
    $ip= str_replace("http://", "", $ip);
    $ip= str_replace("https://", "", $ip);
    if(preg_match('/[A-Za-z_-]/',$ip)){
        if(preg_match('/^([\w-]+\.)+((com)|(net)|(org)|(gov\.cn)|(info)|(cc)|(com\.cn)|(net\.cn)|(org\.cn)|(name)|(biz)|(tv)|(cn)|(mobi)|(name)|(sh)|(ac)|(io)|(tw)|(com\.tw)|(hk)|(com\.hk)|(ws)|(travel)|(us)|(tm)|(la)|(me\.uk)|(org\.uk)|(ltd\.uk)|(plc\.uk)|(in)|(eu)|(it)|(jp)|(co)|(me)|(mx)|(ca)|(ag)|(com\.co)|(net\.co)|(nom\.co)|(com\.ag)|(net\.ag)|(fr)|(org\.ag)|(am)|(asia)|(at)|(be)|(bz)|(com\.bz)|(net\.bz)|(net\.br)|(com\.br)|(de)|(es)|(com\.es)|(nom\.es)|(org\.es)|(fm)|(gs)|(co\.in)|(firm\.in)|(gen\.in)|(ind\.in)|(net\.in)|(org\.in)|(jobs)|(ms)|(com\.mx)|(nl)|(nu)|(co\.nz)|(net\.nz)|(org\.nz)|(tc)|(tk)|(org\.tw)|(idv\.tw)|(co\.uk)|(vg)|(ad)|(ae)|(af)|(ai)|(al)|(an)|(ao)|(aq)|(ar)|(as)|(au)|(aw)|(az)|(ba)|(bb)|(bd)|(bf)|(bg)|(bh)|(bi)|(bj)|(bm)|(bn)|(bo)|(br)|(bs)|(bt)|(bv)|(bw)|(by)|(cd)|(cf)|(cg)|(ch)|(ci)|(ck)|(cl)|(cm)|(cr)|(cu)|(cv)|(cx)|(cy)|(cz)|(dj)|(dk)|(dm)|(do)|(dz)|(ec)|(ee)|(eg)|(er)|(et)|(fi)|(fj)|(fk)|(fo)|(ga)|(gd)|(ge)|(gf)|(gg)|(gh)|(gi)|(gl)|(gm)|(gn)|(gp)|(gq)|(gr)|(gt)|(gu)|(gw)|(gy)|(hm)|(hn)|(hr)|(ht)|(hu)|(id)|(ie)|(il)|(im)|(iq)|(ir)|(is)|(je)|(jm)|(jo)|(ke)|(kg)|(kh)|(ki)|(km)|(kn)|(kr)|(kw)|(ky)|(kz)|(lb)|(lc)|(li)|(lk)|(lr)|(ls)|(lt)|(lu)|(lv)|(ly)|(ma)|(mc)|(md)|(mg)|(mh)|(mk)|(ml)|(mm)|(mn)|(mo)|(mp)|(mq)|(mr)|(mt)|(mu)|(mv)|(mw)|(my)|(mz)|(na)|(nc)|(ne)|(nf)|(ng)|(ni)|(no)|(np)|(nr)|(nz)|(om)|(pa)|(pe)|(pf)|(pg)|(ph)|(pk)|(pl)|(pm)|(pn)|(pr)|(ps)|(pt)|(pw)|(py)|(qa)|(re)|(ro)|(ru)|(rw)|(sa)|(sb)|(sc)|(sd)|(se)|(sg)|(si)|(sk)|(sl)|(sm)|(sn)|(sr)|(st)|(sv)|(sy)|(sz)|(td)|(tf)|(tg)|(th)|(tj)|(tl)|(tn)|(to)|(tr)|(tt)|(tz)|(ua)|(ug)|(uk)|(uy)|(uz)|(va)|(vc)|(ve)|(vi)|(vn)|(vu)|(wf)|(ye)|(yt)|(yu)|(za)|(zm)|(zw))$/i',$ip)){
            return true;
        }else{
            return false;
        }
    }else{
        $ipArray = explode(".", $ip);
        $j = count($ipArray);
        if($j!=4)
        {
            return false;
        }
        for( $i=0;$i<4;$i++){
            if(strlen($ipArray[$i])==0 || $ipArray[$i]>255){
                return false;
            }
        }
        return true;
    }
}


JS代码:
function checkIP(){
var ipArray,ip,j;
ip = document.ipform.ip.value;
if (ip.indexOf(" ")>=0){
ip = ip.replace(/ /g,"");
document.ipform.ip.value = ip;
}
if (ip.toLowerCase().indexOf("http://")==0){
ip = ip.slice(7);
document.ipform.ip.value = ip;
}
if (ip.toLowerCase().indexOf("https://")==0){
ip = ip.slice(8);
document.ipform.ip.value = ip;
}
if (ip.slice(ip.length-1)=="/"){
ip = ip.slice(0,ip.length-1);
document.ipform.ip.value = ip;
}
if(/[A-Za-z_-]/.test(ip)){
if(!/^([\w-]+\.)+((com)|(net)|(org)|(gov\.cn)|(info)|(cc)|(com\.cn)|(net\.cn)|(org\.cn)|(name)|(biz)|(tv)|(cn)|(mobi)|(name)|(sh)|(ac)|(io)|(tw)|(com\.tw)|(hk)|(com\.hk)|(ws)|(travel)|(us)|(tm)|(la)|(me\.uk)|(org\.uk)|(ltd\.uk)|(plc\.uk)|(in)|(eu)|(it)|(jp)|(co)|(me)|(mx)|(ca)|(ag)|(com\.co)|(net\.co)|(nom\.co)|(com\.ag)|(net\.ag)|(fr)|(org\.ag)|(am)|(asia)|(at)|(be)|(bz)|(com\.bz)|(net\.bz)|(net\.br)|(com\.br)|(de)|(es)|(com\.es)|(nom\.es)|(org\.es)|(fm)|(gs)|(co\.in)|(firm\.in)|(gen\.in)|(ind\.in)|(net\.in)|(org\.in)|(jobs)|(ms)|(com\.mx)|(nl)|(nu)|(co\.nz)|(net\.nz)|(org\.nz)|(tc)|(tk)|(org\.tw)|(idv\.tw)|(co\.uk)|(vg)|(ad)|(ae)|(af)|(ai)|(al)|(an)|(ao)|(aq)|(ar)|(as)|(au)|(aw)|(az)|(ba)|(bb)|(bd)|(bf)|(bg)|(bh)|(bi)|(bj)|(bm)|(bn)|(bo)|(br)|(bs)|(bt)|(bv)|(bw)|(by)|(cd)|(cf)|(cg)|(ch)|(ci)|(ck)|(cl)|(cm)|(cr)|(cu)|(cv)|(cx)|(cy)|(cz)|(dj)|(dk)|(dm)|(do)|(dz)|(ec)|(ee)|(eg)|(er)|(et)|(fi)|(fj)|(fk)|(fo)|(ga)|(gd)|(ge)|(gf)|(gg)|(gh)|(gi)|(gl)|(gm)|(gn)|(gp)|(gq)|(gr)|(gt)|(gu)|(gw)|(gy)|(hm)|(hn)|(hr)|(ht)|(hu)|(id)|(ie)|(il)|(im)|(iq)|(ir)|(is)|(je)|(jm)|(jo)|(ke)|(kg)|(kh)|(ki)|(km)|(kn)|(kr)|(kw)|(ky)|(kz)|(lb)|(lc)|(li)|(lk)|(lr)|(ls)|(lt)|(lu)|(lv)|(ly)|(ma)|(mc)|(md)|(mg)|(mh)|(mk)|(ml)|(mm)|(mn)|(mo)|(mp)|(mq)|(mr)|(mt)|(mu)|(mv)|(mw)|(my)|(mz)|(na)|(nc)|(ne)|(nf)|(ng)|(ni)|(no)|(np)|(nr)|(nz)|(om)|(pa)|(pe)|(pf)|(pg)|(ph)|(pk)|(pl)|(pm)|(pn)|(pr)|(ps)|(pt)|(pw)|(py)|(qa)|(re)|(ro)|(ru)|(rw)|(sa)|(sb)|(sc)|(sd)|(se)|(sg)|(si)|(sk)|(sl)|(sm)|(sn)|(sr)|(st)|(sv)|(sy)|(sz)|(td)|(tf)|(tg)|(th)|(tj)|(tl)|(tn)|(to)|(tr)|(tt)|(tz)|(ua)|(ug)|(uk)|(uy)|(uz)|(va)|(vc)|(ve)|(vi)|(vn)|(vu)|(wf)|(ye)|(yt)|(yu)|(za)|(zm)|(zw))$/i.test(ip)){
alert("不是正确的域名");
document.ipform.ip.focus();
return false;
}
}
else{
ipArray = ip.split(".");
j = ipArray.length
if(j!=4)
{
alert("不是正确的IP");
document.ipform.ip.focus();
return false;
}
for(var i=0;i<4;i++)
{
if(ipArray[i].length==0 || ipArray[i]>255)
{
alert("不是正确的IP");
document.ipform.ip.focus();
return false;
}
}
}
}

注意:上面的函数单行很长,大家复制后注意不要分行了。

PHP 相关文章推荐
如何获得PHP相关资料
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
深入解析PHP的引用计数机制
Jun 14 PHP
php支付宝接口用法分析
Jan 04 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
PHP中的Session对象如何使用
Sep 25 PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 PHP
php中通过curl检测页面是否被百度收录
Sep 27 #PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 #PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 #PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 #PHP
PHP实现今天是星期几的几种写法
Sep 26 #PHP
一个PHP的远程图片抓取函数分享
Sep 25 #PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 #PHP
You might like
php获取指定范围内最接近数的方法
2015/06/02 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python 实现简单的电话本功能
2015/08/09 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
银行会计业务的个人自我评价
2013/11/02 职场文书
社区活动策划方案
2014/08/21 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
优秀志愿者感言
2015/08/01 职场文书
2016年少先队活动总结
2016/04/06 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL