Web 应用中如何区分手机号码的有效性

苗哥 发布于 2013/09/02 22:05
阅读 1K+
收藏 0
最近在注册几个国外的网站账户时,如果我选择区域为美国,再输入壹個虚拟运营商的手机号码时,往往无法通过验证,系统在判断我填写的手机号码是否有效时并没有给我发短信,所以我推测它是通过后台的某些接口实现这个判断功能的, 有的似乎还能判断运营商, 不知道是不是我想的这样,如果是,那是什么接口呢,有没有人知道的?

以下是问题补充:

@苗哥:比如我选择地区为美国,填写的手机号码是+17146960719,从格式上来讲它是符合美国当地的手机号码位数要求的,事实上它是壹個虚拟运营商提供的手机号码,实际上是不存在的,我想知道的是,关于后壹点,系统在没有发送短信之前,是如何检测出来的呢? (2013/09/03 09:52)
加载中
0
Haffe
Haffe
最简单的是正则判断。比如我国的手机号码都是11位而且是1开头的。就可以用正则判断输入数字是不是11位,然后判断首字符是不是1。另外高端一点的就是搜集运营商号码范围,进行对比判断,不过这样误判会比较高吧。感觉前端时候一般用正则就够了。
0
BoYunfeng
BoYunfeng
正则表达式--验证手机号码:13[0-9]{9}
实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$
电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})

0
Haffe
Haffe

你能确定这是个有效的美国电话号码么?这号码它也是有一个规则的http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_States

就像很多来电软件知道你的号码是哪地区的一样,美国电话号码也有相似规则的。

苗哥
苗哥
谢谢,你提供的这個链接很具有参考价值。
返回顶部
顶部