发明名称 移动终端及其号码匹配方法
摘要 本发明公开了一种移动终端及其号码匹配方法。该移动终端号码匹配方法包括以下步骤:步骤a,读取并转化移动终端中储存的所有号码;步骤b,储存并排序转化后的号码;步骤c,转化需要匹配的号码;步骤d,将转化后的需要匹配的号码和转化后的号码进行匹配。本发明的移动终端及其号码匹配方法中,通过将号码字符串转化为数字,号码之间只需要比较数字的大小,不需要比较号码中所有的字符串,提高了号码匹配效率。
申请公布号 CN102158582B 申请公布日期 2014.12.31
申请号 CN201110104201.2 申请日期 2011.04.25
申请人 惠州TCL移动通信有限公司 发明人 杨志兵
分类号 H04M1/2745(2006.01)I;H04M1/275(2006.01)I 主分类号 H04M1/2745(2006.01)I
代理机构 深圳市君胜知识产权代理事务所 44268 代理人 王永文
主权项 一种移动终端号码匹配方法,其特征在于,该移动终端通讯号码匹配方法包括以下步骤:步骤a,读取并转化移动终端中储存的所有号码;步骤b,储存并排序转化后的号码;步骤c,转化需要匹配的号码,并将转化后的需要匹配的号码和转化后的号码进行匹配,其中,需要匹配的号码包括特殊字符;步骤d,在特殊字符前的需要匹配的号码匹配成功后,读取并匹配需要匹配的号码字符串和转化后的号码字符串;在步骤c中,转化需要匹配号码包括步骤:首先,判断需要匹配号码的合法性,判断字符串中是否包含0~9、*、#、W及P字符以外的字符,如果包含,则返回错误,提示该需要匹配的号码不合法;其次,扫描需要匹配号码字符串,判断字符串中是否包含*、#、W及P中的特殊字符,并用一个变量记录结果,含有特殊字符的号码分为两部分:特殊字符前的号码串为“主号码”,特殊字符后的号码串为“子号码”,如果在字符串中没有包含*、#、W及P中的特殊字符,转化需要匹配的号码通过以下步骤实现:首先,判断需要匹配的号码的合法性;其次,扫描需要匹配的号码字符串;然后,取需要匹配的号码字符串的后几位;最后,将取得的字符串转化为整型数字;如果在字符串中有包含*、#、W及P中的特殊字符,转化需要匹配号码通过以下步骤实现:首先,判断需要匹配号码的合法性;其次,扫描需要匹配号码字符串;然后,将特殊字符后的字符以及特殊字符删除;最后,取字符串的后几位并将取得的字符串转化为整型数字;该需要匹配的号码的字符串为“02161460666P6152”经过处理后字符串为“02161460666”,转化为数字02161460666;在进行该需要匹配的号码字符的处理,取字符串中最后几位的字符,取的长度与匹配的长度一致;其中,转化后的号码通过结构体进行存储,结构体的第一项为联系人的ID,结构体的第二项为转化后的号码;该结构体为:Typedef struct {Uint16 id;Uint64 number;}CONTACT_NUM_TABLE;该结构体中包含两项,其中一项Uint16 id表示该联系人的ID,每个联系人的结构体有一个唯一的ID,通过该结构体的ID管理所有联系人的信息;另一项Uint64 number表示该联系人转换后的一个号码,每一个联系人的号码转化后都以一个该结构体存储,转化后的号码按照数字的大小进行排序并且保存在结构体的数组,匹配时,用该需要匹配的号码与该数组中的号码进行匹配;接收到转化为数字的该需要匹配的号码时,该需要匹配的号码为整型数字A,首先匹配主号码,将该需要匹配的号码与该数组中的中间一个成员进行号码的比较,如果A大于中间的成员,说明A也大于中间成员的前面该数组中的所有成员,与A匹配的号码只可能出现在该数组后一半的成员中,因此,再将A与该数组的后一半成员中的中间一个成员进行比较;比较之后,如果A小于中间的成员,说明A也小于中间成员的前面数组中的所有成员,与A匹配的号码只可能出现在前一半的成员中,因此,再将A与数组的前一半成员中的中间一个成员进行比较,以此类推,直到查找到与A相等的成员,则说明匹配主号码成功,如果,在查找表中没有找到与A相同的号码,则匹配失败,返回匹配失败;主号码匹配成功后,再判断A是否包含特殊字符,如果A不包含特殊字符,则匹配结束,如果A包含特殊字符,则需要继续匹配后面的子号码,首先,读取主号码的匹配成员的ID,根据ID读取出联系人的号码字符串,将联系人的号码字符串与该需要匹配的号码字符串进行匹配,如果匹配,返回匹配成功,结束匹配;如果不匹配,则分别将A与该数组中当前位置的前一个位置中的号码比较,直到匹配到相应的联系人,或匹配失败。
地址 516006 广东省惠州市仲恺高新技术开发区23号小区
您可能感兴趣的专利