对于移动应用程序,我们正在考虑根据用户的手机号码验证用户。
在应用程序中,我们将限制用户输入,以便将其存储为以下格式:
在这种情况下,这意味着瑞典的电话号码 (+46),删除最初的 0,然后保留剩余的 9 位数字(此处的手机号码是 10 位数字,包括前导 0)。
但是,当前保存在数据库中的数据包括很多行,并且没有对输入进行验证。这意味着保存的数字可以是多种不同的格式,包括
0700112233
070-0112233
460700112233
等等。
所以数据库中列的类型可能是varchar。
目前,我无法将数据库中已保存的数字实际更新为一种通用格式,例如使用libphonenumber。我也希望限制对数据库的实际查询次数。
该数据库目前包括以不同格式保存的大约 10 多个国家的电话号码。使用的 DBMS 是 MySQL。
在不查询任何可能格式的数据库的情况下,准确匹配数字的有效方法是什么?