Android判断世界各国手机号码合法性

之前公司项目只接收国内手机号码注册,所以只用正则表达式判断是否满足即可,后来香港同事、台湾同事想使用我们产品,发现根本没法注册,所以后台添加香港、台湾、澳门手机用户注册支持,所以APP也得添加这些地区手机号码合法性判断;

香港: 国家码为852,手机号规则: 首位为5|6|8|9 后面接7位数字,一共8位数。
台湾:国家码为886 ,手机号规则: 首位为9|09 后面接8位数字。一个9位或10位数字。
澳门:国家码为853,手机号规则: 首位为6 后面接7位数字,一个8位数。

这样问题就来了,每添加一个地区都得加一个正则,还得去一个个验证,岂不麻烦死~~

后来查了一下资料,发现Google有个开源库,libphonenumber ,可以判断出手机号的运营商、判断手机号码是不是合法的、判断手机号码归属地等等功能,简直不能更强大,美滋滋~~

点击release,下载最新jar包放到Android Studio libs目录下,gradle添加依赖,一气呵成;

/*** 根据区号判断是否是正确的电话号码* @param phoneNumber :带国家码的电话号码* @param countryCode :默认国家码* return :true 合法  false:不合法*/
public static boolean isPhoneNumberValid(String phoneNumber, String countryCode){System.out.println("isPhoneNumberValid: "+phoneNumber+"/"+countryCode);PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();try{Phonenumber.PhoneNumber numberProto = phoneUtil.parse(phoneNumber, countryCode);return phoneUtil.isValidNumber(numberProto);}catch (NumberParseException e){System.err.println("isPhoneNumberValid NumberParseException was thrown: " + e.toString());}return false;
}

注释已经写得很清楚啦,可以写个测试demo验证一下:

boolean valid_cn = AndroidConfig.isPhoneNumberValid("+8615820799999","86");
System.out.println("isPhoneNumberValid:"+valid_cn);boolean valid_hk = AndroidConfig.isPhoneNumberValid("+85283079901","852");
System.out.println("isPhoneNumberValid:"+valid_hk);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11343.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外手机短信验证码接收神器(转自美国华人网FuninUSA)

【美国华人网综合报道】有时候,在某些平台上,我们可能需要注册一个临时账号。而注册过程中又需要输入手机号进行短信验证,但是我们又不想泄露隐私,所以这时候一些临时短信接收服务便派上了用场,主要是因为申请Email 电…

如何用LLMs来赚钱?基于ChatGPT的商业模式指南

# 背景知识 什么是 LLM ? Large Language Model 大规模语言模型,是利用海量文本数据训练出来能够理解自然语言并生成文本内容的深度学习模型。 大模型的经典代表 GPT-3有多大? GPT-3 有1750亿个参数,人脑的神经元数量估计在 1000 …

ChatGPT4高分通过数据库系统工程师(DBA)认证

ChatGPT 已经通过了美国MBA、法律和医学考试,ChatGPT 又通过了数据库系统工程师考试。这次考试使用了2021年的真实试卷,上午的笔试题全部为选择题,总分75分(45分通过)。 ChatGPT3.5 考了49分(勉强通过&…

ChatGPT通过中国数据库系统工程师(DBA)认证?

无论是关注技术的朋友,还是关注A股的朋友们,可能都知道现在ChatGPT流行的程度,可以说势如破竹,很多人都担心,一些重复性非体力劳动的岗位,就快被人工智能替代了。 我的理解是,这个可能性有&…

SQL Chat 更新 - 用户注册,早鸟套餐,GPT-4,新增支持数据库

用户注册和付费套餐 注册用户每月可以问 20 个问题。升级到专业版后,可以提 1000 个问题,目前早鸟尝鲜价 5 美金/月。 支持使用 GPT-4 支持 TiDB Serverless 🌻 来自 Icemap 支持选择指定的表作为上下文传给 OpenAI 并且还能展示每一个 Tab…

PostgreSQL 数据库跨版本升级常用方案

文章目录 升级方案概述通过逻辑备份与还原进行升级利用 pg_upgrade 工具进行升级使用逻辑复制功能进行升级总结 大家好,我是只谈技术不剪发的 Tony 老师。对于企业而言,将数据库系统升级到新版本通常可以获得更好的性能、更多的功能、最新的安全补丁和错…

从dblink谈起,我们在postgresql中跨库更新数据

dblink(Database Link)数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以…

postgresql 数据库小版本更新

postgresql 数据库小版本更新 记录一次pg小版本更新 文章目录 postgresql 数据库小版本更新前言一.下载最新的pg版本 pg11(11.18)二 pg11.5 升级 pg11.18过程1. 查看当前数据库版本:2. 关闭pg11.5数据库3. 安装pg11.184.修改 配置文件5. 重新…

15、ChatGPT 会让嵌入式工程师失业吗?

ChatGPT 会让嵌入式工程师失业吗? 如果说陈**不怕失业,那么,你觉得ChatGPT 会让嵌入式工程师失业吗? 我们先来看下ChatGPT给出的答案: ChatGPT 作为一款人工智能聊天机器人,不一定会让嵌入式工程师失业。事…

ChatGPT 会让嵌入式工程师失业吗?

关注、星标公众号,直达精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 最近两天关于“CETC中电科的事件”闹得沸沸扬扬,为什么这个事能闹得如此之大? 原因很简单,作为打工人(新生代农民工)&…

gmail邮箱怎么收不到邮件

今天发现gmail能发送邮件但是收不到邮件,通过google知道解决通过网页打开GMAIL后台的设置选项,找到"设置POP\IMAP",把转发功能重新开通一下。 我的是如下图 把POP的对所有邮件启用POP,保存更改,就能收到了。

系统分享|教你如何注册Z-library全球最大的数字图书馆,并获取个人独立域名!

目录 什么是Z-Library? 导言 Z-library 的起源与背景 独特的Z-library 特点 Z-Library能做什么? 最新网址 注册教程 1、创建账户 ​编辑2、邮箱创建 3、接受验证码 4、注册成功 5、搜索书籍下载 6、下载资料 7、设置选择 8、设置Z-access 9、你…

复旦团队发布国内首个模型MOSS 类ChatGPT

复旦团队发布国内首个模型MOSS 类ChatGPT 首先看到这个标题,还有这个名字,我是正经(zhen jing)的 (bu shi 流浪地球?550W?不了解的可以把550W倒过来写,就懂了 看到新闻里的一些图…

语言模型 ChatGPT MOSS 使用体验分享

今早起床听闻复旦大学自然语言处理实验室团队发布了国内首个类ChatGPT对话语言模型MOSS。在好奇心的驱使下,我向贵实验室的小伙伴要来内测邀请码试玩了一番,顺便把MOSS与ChatGPT的试玩结果进行了对比,以下是部分对话历史记录: 目录…

textarea输入框监听和输入字数限制以及样式设置

html <p class"describe">分类描述</p><div class"desc"><textarea class"wishContent" placeholder"请输入分类描述&#xff0c;最多255字。" maxlength"255" ></textarea><div class&…

Android开发之EditText限制输入中文以及字数长度限制的标准姿势

老套路先上效果图&#xff1a; 设置输入框的两个筛选器&#xff1a; etGiftName.setFilters(new InputFilter[]{new ZsInputFilter(5,this), new LengthListener(5,this)}); 我们来看下筛选器如何实现的&#xff1a; 先看中文筛选器 package com.yhsh.mobile.giftcomponent;…

关于输入框限制字数输入问题

在输入框输入内容&#xff0c;当需要限制字数的时候&#xff0c;如果是Input或者textarea&#xff0c;可以直接用maxlength进行字数的限制。如果是用div(添加了contenteditable属性)&#xff0c;如果直接用input事件进行字数的限制&#xff0c;则会出现临界问题。 问题起源&…

thinkphp 模板截取中文(限制显示字数)

把如下代码粘贴到thinkphp核心包的/common/functions.php 的最后便可在html模型里直接使用 //函数解释&#xff1a; //msubstr($str, $start0, $length, $charset”utf-8″, $suffixtrue) //$str:要截取的字符串 // $start0&#xff1a;开始位置&#xff0c;默认从0开始 // $l…

人工智能能有多聪明,取决于这两个字

当代打工人&#xff0c;已经感受到人工智能带来的“寒气”。 今年以来&#xff0c;GPT-4 被陆续报道高分通过法律、医学、会计等领域的考试 [1]。不仅如此&#xff0c;GPT-4 还通过谷歌工程师面试拿到了年薪 18 万美元的 offer [2]&#xff0c;这让不少打工人开始担心被 AI 抢饭…

30岁+,帝都大厂夫妻+两娃的百万存款和家庭开销。。

周末闲来无事&#xff0c;心血来潮算了下家庭年开销。不算不知道&#xff0c;这一算花销还真是不小&#xff0c;好在我和老公都还能挣到钱。 先说明下家庭成员和职责分工&#xff1a; 老公&#xff1a;985本硕连读&#xff0c;工作10多年&#xff0c;待过了三家互联网大厂&…