Gefällt mir der Titel, wie hast du das gemacht? Ich habe viel online gesucht, aber ich weiß nicht, warum es nicht funktioniert
var isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/; //移动方面最新答复 var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/; //向联通微博确认并未回复 var isChinaTelcom = /^(?:133|153|177|18[019])\d{8}$/; //1349号段 电信方面没给出答复,视作不存在 var isOtherTelphone = /^170([059])\d{7}$/;//其他运营商 var utils = { checkMobile: function(telphone){ telphone = this.trim(telphone); if(telphone.length !== 11){ return this.setReturnJson(false, '未检测到正确的手机号码'); } else{ if(isChinaMobile.test(telphone)){ return this.setReturnJson(true, '移动', {name: 'ChinaMobile'}); } else if(isChinaUnion.test(telphone)){ return this.setReturnJson(true, '联通', {name: 'ChinaUnion'}); } else if(isChinaTelcom.test(telphone)){ return this.setReturnJson(true, '电信', {name: 'ChinaTelcom'}); } else if(isOtherTelphone.test(telphone)){ var num = isOtherTelphone.exec(telphone); return this.setReturnJson(true, '', {name: ''}); } else{ return this.setReturnJson(false, '未检测到正确的手机号码'); } } }, setReturnJson: function(status, msg, data){ if(typeof status !== 'boolean' && typeof status !== 'number'){ status = false; } if(typeof msg !== 'string'){ msg = ''; } return { 'status': status, 'msg': msg, 'data': data }; } }
可以试下淘宝的API
https://tcc.taobao.com/cc/jso...这里是手机号
例如:https://tcc.taobao.com/cc/jso...
返回格式:
_GetZoneResult= {
}
这个得找接口,直接判断是不行的。
不知是原创,还是抄自哪儿的,不能使用。
1,utils没有trim()方法吗,this.trim(xxx)会出错。
2,三个正则判断不正确,任何号码都返回false
不同运营商,前面的不一样
我们之前使用淘宝接口,但是请求量较大,有时候接口并不稳定。所以现在改用接口+搜索引擎的方式。
随机使用bing,360,百度搜索引擎查询。
直接请求搜索引擎,然后从响应中分析想要的数据即可。
不仅能查询运营商,还可以查询归属地哦 ^_^