android联系人多选控件,android 拼音字母搜寻联系人以及实现多选功能

该博客介绍了如何在Android应用中实现联系人拼音搜索功能,利用PinYin4j.jar库将汉字转为拼音,便于用户快速查找。同时,文章详细讲解了如何检测和格式化手机号码,确保输入的号码符合电信运营商的标准,包括移动、联通和电信的号段判断。附带的Demo和jar包可供开发者参考和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android 拼音字母搜索联系人以及实现多选功能

推荐文章

Android通讯录开发之通讯录联系人搜索功能最新实现

使用PinYin4j.jar将汉字转换为拼音

JAVA获取中文名字的首字母,如:"阿鲁卓玛",获取的首字母是"alzm"

ChineseSpelling.java

检测选择的手机号码是否合法

/**

* 处理手机号码

* @param num

* @return

*/

public static String formatTelNum(String num) {

return num.replaceAll("-", "");

}

/**

* 判断手机前3位

*

* @param str

*            手机号的前3位

* @return

*/

public static boolean judgeTMobile(String str) {

boolean legal = false; // 合法性

if (str.length() >= 3) {

if ("133".equals(str.substring(0, 3))

|| "153".equals(str.substring(0, 3))

|| "180".equals(str.substring(0, 3))

|| "189".equals(str.substring(0, 3))

|| "181".equals(str.substring(0, 3))) { // 电信段

legal = true;

} else if ("134".equals(str.substring(0, 3))

|| "135".equals(str.substring(0, 3))

|| "136".equals(str.substring(0, 3))

|| "137".equals(str.substring(0, 3))

|| "138".equals(str.substring(0, 3))

|| "139".equals(str.substring(0, 3))

|| "150".equals(str.substring(0, 3))

|| "151".equals(str.substring(0, 3))

|| "152".equals(str.substring(0, 3))

|| "157".equals(str.substring(0, 3))

|| "158".equals(str.substring(0, 3))

|| "159".equals(str.substring(0, 3))

|| "182".equals(str.substring(0, 3))

|| "183".equals(str.substring(0, 3))

|| "187".equals(str.substring(0, 3))

|| "188".equals(str.substring(0, 3))

|| "147".equals(str.substring(0, 3))) { // 移动段

legal = true;

} else if ("130".equals(str.substring(0, 3))

|| "131".equals(str.substring(0, 3))

|| "132".equals(str.substring(0, 3))

|| "145".equals(str.substring(0, 3))

|| "155".equals(str.substring(0, 3))

|| "156".equals(str.substring(0, 3))

|| "185".equals(str.substring(0, 3))

|| "186".equals(str.substring(0, 3))) { // 联通段

legal = true;

} else {

legal = false;

}

}

return legal;

}

/**

* 检测手机号码是否合法

* @param numPhone

* @return

*/

private boolean isPhone(String numPhone){

if (Util.formatTelNum(numPhone).substring(0, 1).equals("0") || Util.formatTelNum(numPhone).replace(" ", "").toString().length() != 11|| Util.judgeTMobile(Util.formatTelNum(numPhone).replace(" ", "").toString()) == false) {

CustomToast toast = new CustomToast(CopyContactsListMultiple.this, "请选择正确的手机号码");

toast.show(300);

return false;

}

return true;

}

附件中有Demo案例以及所需要的jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值