Javascript 在格式相同的国家/地区,检查号码是移动电话还是固定电话

Javascript 在格式相同的国家/地区,检查号码是移动电话还是固定电话,javascript,validation,phone-number,Javascript,Validation,Phone Number,我正在尝试使用谷歌的javascript版本验证手机号码。我首先检查号码是否有效,然后检查其类型是否为移动电话。我面临的问题是,如果一个美国手机号码被检查,它是一个有效的,但不是一个手机号码。所以我得到的反馈是,这个号码是一个合法的美国号码,但不是一个美国手机号码。我知道他们无法区分两者,但在这种情况下,反馈不应该是“不知道”而不是“不” 我想把它作为一个问题发布,但后来我想我应该确认我是对的,我可能遗漏了一些东西。所以,如果我做错了什么,请有人确认一下,或者直接指导我。这是一个棘手的话题。如果

我正在尝试使用谷歌的javascript版本验证手机号码。我首先检查号码是否有效,然后检查其类型是否为移动电话。我面临的问题是,如果一个美国手机号码被检查,它是一个有效的,但不是一个手机号码。所以我得到的反馈是,这个号码是一个合法的美国号码,但不是一个美国手机号码。我知道他们无法区分两者,但在这种情况下,反馈不应该是“不知道”而不是“不”


我想把它作为一个问题发布,但后来我想我应该确认我是对的,我可能遗漏了一些东西。所以,如果我做错了什么,请有人确认一下,或者直接指导我。

这是一个棘手的话题。如果你认真对待这一区别,你将不得不订阅一个定期更新的国际电话号码数据库,比如(没有关联、关联或其他,只是碰巧知道它们)。有了它,你就可以把一个数字(-prefix)和一个载体联系起来,这比你想象的要复杂得多,而且变化无常


这就是为什么libphonenumber不能给出100%准确的结果的原因。我不知道它是否能确定地返回“不知道”。

我知道已经很晚了,但如果有人稍后再问这个问题,那是我的错误。他们确实有一个状态PNT.FIXED\u LINE\u或\u MOBILE,用于他们无法决定是固定电话还是手机号码的情况。

我同意,答案应该是“不知道”,但这可能不是图书馆的选项。请注意,在美国,数字可以从移动网络传输到固定电话,反之亦然,所以今天移动的数字可能明天就是固定电话。明白了,这意味着我应该在那里放一个功能请求,如果他们认为他们可以提供的话:)是的,值得一试。尽管如此,我不确定这是否完全可行,即使每天都将付费数据库编译到libphonenumber中,您可能仍然会遇到不准确的案例。你必须在你的应用程序中处理这种不准确的情况。