如何使用phonegap检查联系人DB中是否存在电话号码?

时间:2015-01-23 11:19:35

标签: javascript android cordova mobile

这是我的代码。

document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            var options = new ContactFindOptions();
          options.filter = "9898989898"; 
        //sample number like this(98 98989898) or (9898 9898 98) are not working form phone contact DB which can not be edited
        filter = ["displayName", "phoneNumbers"];
        navigator.contacts.find(filter, onSuccess, onError, options);
        }
        function onSuccess(contacts) {
            for (var i = 0; i < contacts.length; i++) {
                    alert(JSON.stringify(contacts[i]));
            }
        };
        function onError(contactError) {
            alert('onError!');
        }

所以在这里我得到的联系结果看起来与options.filter=""完全一样,但我没有得到相同数字的结果,中间有空格或任何分割我的过滤字符串的东西。

我还需要知道它的查找速度有多快,因为我需要在文档准备好后立即加载页面,我需要立即更改内容。

帮帮我。

1 个答案:

答案 0 :(得分:1)

filter = [&#34; displayName&#34;,&#34; phoneNumbers&#34;];是一个数组吗?

使用此regualr表达式替换所有空格

.replace(/ \ S / G&#34;&#34);

并将结果值保存到新数组,然后进行过滤。

例如: 声明一个空数组。

使用for来遍历数组。 找到号码。 取代白色空间。 将它存储到新阵列。

var number = '98 57 268 23';
number.replace(/\s/g,"");

number = 985726823

希望它有所帮助!