java校验手机号码、固定电话的合法性
来源:互联网 发布:ubuntu 安装kde桌面 编辑:程序博客网 时间:2024/05/16 18:10
一、规则说明
1、全国固定电话区号大体分两种,三位数和四位数(400固话除外)
中国电话区号三位数有十大城市。分别为:
北京市010
广州市020
上海市021
天津市022
重庆市023
沈阳市024
南京市025
武汉市027
成都市028
西安市029
2、移动电话由于国家的手机号码前三位在不断更新,目前移动、联通、电信三大运营商的手机号段大致如下:
移动号段有134,135,136,137,138,139,147,150,151,152,157,158,159,178,182,183,184,187,188。
联通号段有130,131,132,155,156,185,186,145,176。
电信号段有133,153,177,180,181,189。
中国使用的手机号码为11位,其中各段有不同的编码方向:前3位———网络识别号;第4-7位———地区编码;第8-11位———用户号码
二、工具类
import android.content.Context;import android.text.TextUtils;import android.widget.Toast;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 类说明:手机号、固定电话合法性校验 */public class PhoneValidatorUtil { public static boolean matchPhone(String number, int type){ if (TextUtils.isEmpty(number)) { return false; } if (type == 0) { Matcher m = null; Pattern p = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$"); // 验证带区号的,中间有"-" //p = Pattern.compile("^[1-9]{1}[0-9]{5,8}$"); // 验证没有区号的 m = p.matcher(number); return m.matches(); } else { //符合返回true if (Pattern.matches("^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9]|17[0|6|7|8])\\d{8}$", number)) { return true; } } return false; } /** * * @param context * @param number * @param type 0 固话 1 手机号 * @return */ public static boolean matchPhoneShowToast(Context context, String number, int type){ boolean flag = matchPhone(number, type); if (!flag){ Toast.makeText(context, type == 0 ? "固定电话格式错误" : "移动电话格式错误!", Toast.LENGTH_SHORT).show(); } return flag; }}
该工具类目前支持13、14、15、17、18开头的号码,基本能支持目前市面上所有的手机号码,后期如有新号段,需再完善,以下为测试用例
// String number = "0557-5033061";// String number = "021-62963636"; String number = "029-86261199"; if (PhoneValidatorUtil.matchPhoneShowToast(this, number, 0)){ Log.i("TAG", "固定电话校验成功!"); } else { Log.i("TAG", "固定电话校验失败!"); } String phone = "14755296414"; if (PhoneValidatorUtil.matchPhoneShowToast(this, phone, 1)){ Log.i("TAG", "移动电话校验成功!"); } else { Log.i("TAG", "移动电话校验失败!"); }
阅读全文
0 0
- java校验手机号码、固定电话的合法性
- Java 编写过滤手机号码或者固定电话的工具类
- java代码校验手机号,带区号固定电话和400类型的固定电话
- java校验身份证的合法性
- Java 后台验证联系方式(包括固定电话和手机号码)
- 固定电话+手机号码正则表达式
- 固定电话+手机号码正则表达式
- 固定电话+手机号码正则表达式
- 固定电话+手机号码正则表达式
- 固定电话+手机号码正则表达式
- js验证固定电话、手机号码
- 固定电话+手机号码正则表达式
- js验证固定电话、手机号码
- 固定电话+手机号码正则表达式
- 固定电话+手机号码 正则表达式
- 同时验证手机号码和固定电话的正则表达式
- 判断固定电话和手机号码的正则表达式
- java:日期合法性校验
- python多版本pip报错
- 慕课网《HTML+CSS基础课程》笔记总结(三)
- 银行卡收单____商户费率_代理商分润
- 17. Letter Combinations of a Phone Number
- BZOJ 3192: [JLOI2013]删除物品
- java校验手机号码、固定电话的合法性
- 以梦为马,诗酒趁年华
- 汇编语言上机与DOSBox 0.74安装过程
- Angular4 http服务400报错
- [linux]--使用dup和dup2重定向和还原
- 区块链开源项目
- C++ STL模版库<queue>
- android 自定义注解 通过反射获取注解属性值
- Hive四种数据导入方式