在我的网站上,人们可以用他们的电话号码注册。每个电话号码只允许一个帐户。问题是:一个电话号码可以有多种写法。
我来自比利时。我们的(手机)电话号码是这样的:04xx xx xx xx(例如 04 99 12 34 56)。比利时的国家代码是 0032,所以 0032499 12 34 56 也是一个有效的电话号码,就像 +32499 12 34 56 一样。
所以不,我有三个完全相同的电话号码,但写得不同,系统无法识别它们相同。
可能的解决方案(不起作用)
每个比利时电话号码都有相同的结尾:
00324xxxxxxxxx
+324xxxxxxxxx
04xxxxxxxxx
我可以检查最后 9 位数字(从 4 开始),但问题是:不仅比利时人可以注册,其他国家也可以注册。美国手机号码不以 4xxxxxxxx 结尾,所以我无法对这些号码进行此项检查。
可能的解决方案
添加包含所有国家/地区代码的下拉列表,并在提交之前规范化每个电话号码。
对于比利时电话号码:+32(下拉)0499 12 34 56(输入)将变为 +32(下拉)499 12 34 56(去掉 0)。
可能的解决方案 2
我可以使用这样的 API(https://www.searchbug.com/api/identify-phone-number.aspx),但它不是免费的。有我可以自己托管的免费解决方案吗?