首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android应用程序中验证电话号码?

如何在android应用程序中验证电话号码?
EN

Stack Overflow用户
提问于 2013-10-29 04:41:05
回答 7查看 11.2K关注 0票数 2

我在做android的工作。在我的应用程序中,用户将通过在编辑文本中输入他们的电话号码来注册。然后将这个电话号码保存在数据库中。现在,当用户登录该应用程序时,我从他的手机上获得联系人列表,并将其与注册该应用程序的人进行比较。如果联系人列表中的数字与数据库中的数字匹配,那么我需要在listview中显示这些数字。这里的问题是,如果用户在联系人之前用+91或0保存他的号码,那么数据库中的号码与联系人不匹配。当时数字没有显示。

对于此问题,是否需要在编辑文本中输入数字之前保持警惕?例如,在我给出的编辑文本中,Ph no: 8923458128并将其保存在数据库中。现在我用这个号码和联系人列表登录

  1. 9823484586
  2. +919988334856

假设以上两个数字存储在数据库中。但是第二次接触,用户输入为9988334856没有+91。最后,在列表视图中,仅显示一个数字,而不是2个数字,因为第二个数字与数据库编号不匹配。

我怎样才能解决这个问题?请在这方面帮助我。

EN

回答 7

Stack Overflow用户

发布于 2013-10-29 04:59:50

如果您从DB获取所有电话,则可以使用下面的代码将输入的电话与使用 http://developer.android.com/reference/android/telephony/PhoneNumberUtils.html#compare%28java.lang.String,%20java.lang.String%29的DB电话相匹配。

它比较电话号码a和b,如果它们对来电显示的目的完全相同,则返回true。

代码语言:javascript
复制
private String getMatchedPhones(ArrayList<String> contactsFromDB, String phoneToMatch) {

    // Iterate all numbers and match 
    for (String numberFromDb : contactsFromDB) {
         if (PhoneNumberUtils.compare(numberFromDb, phoneToMatch)) {
             return phoneToMatch; // Or numberFromDb
         }
    }

    return null; // Or can custom msg. If not matched. 
}
票数 4
EN

Stack Overflow用户

发布于 2013-10-29 04:52:24

我想最好的方法是用4列来创建你的桌子-

( 1)id 2)姓名(如有需要)3)国家代码4)电话号码

现在,在你的UI前缀国家代码在一个spiner和给出电话号码类型的字段在文本视图。并在数据库中使用整数值来存储数字。

通过匹配您的电话号码,只需传递以下查询- 1)phoneNumber = phoneNumberEditText.getText().toString();2) //读取数据库中的所有联系人

代码语言:javascript
复制
    List<Contacts> number = db.getAllNumber();
                        for (final Contacts cn : number) {

                            if ((phoneNumber.equals(cn.getNumber()){
//do what you want
}
        }

谢谢!希望它能帮到你。

票数 1
EN

Stack Overflow用户

发布于 2013-10-29 05:18:39

将这两行放在XML文件中的电话号码编辑文本字段中。

代码语言:javascript
复制
android:inputType="numberDecimal"
android:maxLength="10"

然后,他不能输入超过10个数字,只有他应该输入数字。您可以在另一个文本字段中获取国家代码并使用它进行验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19649785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档