写了一个查询域名资料的小项目,需要用户输入查询域名的顶级域名,为了保证用户输入的域名为顶级域名,就写一个通过JS脚本代码来判断输入的域名是否为顶级域名的方法,下面飞鸟慕鱼博客就来分享一下,大家可以做个参考!

js判断是否为顶级域名的方法

示例代码:

注:以下代码来自网络,稍微做了一些修改,已测试正常可用!

/**
 * 判断输入的地址是否为顶级域名
 * 飞鸟慕鱼博客 feiniaomy.com 
 * 是顶级域名返回 true 否则 返回 false
 **/
function is_url(str) {
    str = str.toLowerCase();
    var hz = '.com,.net,.org,.biz,.info,.name,.mobi,.tel,.xxx,.ac,.ag,.am,.asia,.at,.co,.be,.bz,.ca,.cc,.ch,.cm,.cx,.cz,.de,.ac.cn,.bj.cn,.sh.cn,.tj.cn,.cq.cn,.he.cn,.sx.cn,.nm.cn,.ln.cn,.jl.cn,.hl.cn,.js.cn,.zj.cn,.ah.cn,.fj.cn,.jx.cn,.sd.cn,.ha.cn,.hb.cn,.hn.cn,.gd.cn,.gx.cn,.hi.cn,.sc.cn,.gz.cn,.yn.cn,.xz.cn,.gs.cn,.qh.cn,.nx.cn,.xj.cn,.tw.cn,.mo.cn,.com.cn,.net.cn,.sn.cn,.org.cn,.hk.vc,.hk.cn,.sale,.wang,.xyz,.pro,.xin,.app,.vip,.top,.cn,.tv,.hk,.ng,.la,.in,.pw,.sx,.me,.gg,.gs,.st,.us,.dk,.ec,.es,.eu,.fm,.fr,.gd,.gl,.gr,.gy,.hn,.ht,.im,.io,.it,.je,.jp,.ki,.lc,.li,.lu,.lv,.md,.mg,.mn,.ms,.mu,.mx,.my,.nl,.nu,.pe,.ph,.pl,.pm,.se,.sh,.so,.tc,.tf,.tk,.tl,.tm,.to,.tw,.co.uk,.uk,.vc,.vg,.wf,.ws,.yt,.ltd,.men,.bid,.fi,.lt,.games,.news,.work,.space,.win,.link,.store,.co.jp,.edu,.ren,.date,.site,.red,.kim,.cn.com,.club,.gp,.is,.pt,.one,.tt,.ai,.ma,.ee,.su,.run,.car,.fish';
    hz = hz.split(",");
    var qm = str.substr(0, str.indexOf("\."));
    var hm = str.substr(str.indexOf("\."));
    return str.length > 0 && hz.includes(hm) && qm.match(/^[a-z0-9\u4e00-\u9fa5]+([a-z0-9\u4e00-\u9fa5-]*(?:[a-z0-9\u4e00-\u9fa5]+))?$/i) ? true : false;
}

函数调用

console.log(is_url('feiniaomy.com'));
// true
console.log(is_url('feiniaomy.com/'));
// false
console.log(is_url('feiniaomy.com/index.html'));
// false
console.log(is_url('www.feiniaomy.com'));
// false