这是我的代码。
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=""
完全一样,但我没有得到相同数字的结果,中间有空格或任何分割我的过滤字符串的东西。
我还需要知道它的查找速度有多快,因为我需要在文档准备好后立即加载页面,我需要立即更改内容。
帮帮我。
答案 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
希望它有所帮助!