`

通过正则判断手机用户

    博客分类:
  • J2SE
阅读更多
写的~! 留下脚印
配置文件config.propertise
unicom=133|132|131|134
chinamobile=135|136|137|138|139|159
reg_templete=^0?(_phone_)[0-9]{8}

主要的类方法
package demo.phone;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import java.util.regex.Pattern;

public class Phone {
	private String unicom;
	private String chinamobile;
	private String reg_templete;
	private String runicom;
	private String rchinamobile;
	public Phone() {
		//读取配置文件
		Properties prop = new Properties();
		try {
			prop.load(new FileInputStream("D://workspace//gsj//phone//src//demo//phone//config.properties"));
			//联通的号段
			unicom=prop.getProperty("unicom");
			//移动的号段
			chinamobile=prop.getProperty("chinamobile");
			//表达式模板
			reg_templete=prop.getProperty("reg_templete");
			//联通的表达式
			runicom=reg_templete.replaceAll("_phone_",unicom);
			//移动的表达式
			rchinamobile=reg_templete.replaceAll("_phone_",chinamobile);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public int validate(String phone){
		if(validateUnicom(phone))
			return 1;//联通的号码
		if(validateChinamobile(phone))
			return 2;//移动的号码
		return 0;//小灵通号码
	}
	//判断是否是联通的号码
	private boolean validateUnicom(String phone){
		return Pattern.compile(runicom).matcher(phone).matches();
	}
	//判断是否是移动的号码
	private boolean validateChinamobile(String phone){
		return Pattern.compile(rchinamobile).matcher(phone).matches();
	}
}

用于测试的方法
package demo.phone;

public class Main {

	public static void main(String[] args) {
		//如果是1表示联通,2移动,3小灵通
		Say("013578481235");
		Say("13678481235");
		Say("13378481235");
		Say("13178481235");
		Say("015978481235");
		Say("99690814");
		Say("89892015");
	}
	public static void Say(String phone){
		Phone p = new Phone();
		System.out.println(phone+"  "+p.validate(phone));
	}

}
分享到:
评论

相关推荐

    java使用正则表达式判断手机号的方法示例

    java使用正则表达式判断手机号的方法示例文章主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧。下面是文章中提到的知识点: 1. 手机号码...

    正则表达式判断手机号码

    本话题将深入探讨如何使用正则表达式来判断手机号码的合法性。 在中国,手机号码通常遵循11位数字的格式,且以1开头,具体分为三段:前三位是网络提供商代码(如139、158等),中间四位是地区代码,最后四位是用户...

    wps正则表达式 以及 wps通过正则表达式验证手机号码

    在WPS 2020及后续版本中,这一特性使得用户能够利用正则表达式处理数据,比如验证手机号码的合法性。 首先,让我们了解什么是正则表达式。正则表达式(Regular Expression)是一种模式匹配语言,它由一系列字符和...

    常用的正则表达式判断手机号邮箱等

    这里我们将深入探讨如何使用正则表达式来判断手机号和邮箱的合法性。 首先,手机号码的格式在中国大陆通常是11位数字,通常以13、14、15、16、17、18、19开头。一个简单的手机号正则表达式可以写为: ```regex ^1...

    正则表达式判断手机邮箱

    在IT行业中,正则表达式被广泛应用于数据验证、文本处理、爬虫程序等领域,特别是在判断手机号码和邮箱地址的合法性时显得尤为重要。 手机号码的正则表达式通常要考虑不同国家的格式,但以中国大陆为例,常见的11位...

    正则表达式判断类集合C#

    总的来说,这个"正则表达式判断类集合C#"是一个实用的工具,可以帮助开发者快速实现对输入数据的合法性检查,避免因用户输入错误导致的问题。它体现了C#面向对象的设计思想,将相关的功能封装在独立的类中,使得代码...

    ios-正则判断封装.zip

    该压缩包包含一个名为 "ZJVerifyDemo" 的文件,很可能是一个示例工程或库,用于演示和使用这些封装好的正则判断功能。通过这个库,开发者可以避免重复编写相同的正则表达式,提高代码复用性和效率。 1. **手机号...

    JSP判断移动设备的正则

    - 这个函数接收用户代理字符串,首先检查其是否为null,然后分别使用手机和平板设备的正则表达式进行匹配。 - 如果`Matcher`对象的`find()`方法返回true,表示找到了匹配的部分,说明是移动设备或平板设备,函数...

    正则表达式判断表单验证

    以上就是正则表达式在表单验证中的应用及其基本知识,通过熟练掌握正则表达式,可以有效提升表单数据的质量,确保系统能够正确处理用户输入。在实际开发中,还需要考虑各种边缘情况,确保正则表达式的全面性和准确性...

    Android 正则表达式验证手机和邮箱格式是否正确

    // 判断手机格式是否正确 public boolean isMobileNO(String mobiles) { Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); return m.matches(); } ...

    ios-对正则判断的封装、一次调用判断多个控件.zip

    包含分类IBInspectable、模型、以及字典三种情况下对控件进行正则判断的封装、可以同时判断多个类型,方便使用,包括手机号、银行卡、身份证、邮箱以及其他基础验证,比如说在注册界面只需调用一次判断就可对账户、...

    Android输入框实时正则判断完整Demo源码

    本篇将详细讲解如何使用正则表达式进行实时和失去焦点后的输入验证,以手机号码验证为例。 一、正则表达式基础 正则表达式是一种强大的文本处理工具,用于匹配字符串模式。在Android中,我们可以利用Java的Pattern...

    java 使用正则表达式验证电话号码的格式

    java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式

    JS正则判断相关

    根据给定的文件信息,以下是对“JS正则判断相关”的详细知识点解析: ### JS正则表达式在输入控制中的应用 #### 1. 去除非数字字符 正则表达式:`/\D/g` 功能:此表达式用于匹配任何非数字字符,并将其替换为空...

    AS3常用正则表达式

    ### AS3常用正则表达式知识点详解 #### 一、正则表达式基础 在深入讲解之前,我们先简要回顾一下正则表达式的概念及其基本语法。正则表达式是一种用于模式匹配的强大工具,广泛应用于字符串搜索和替换场景。在AS3...

    pb 使用正则表达式源码pbregexp

    描述中提到的“pb中使用正则表达式组件,通过该组件可以在pb脚本中使用功能强大的正则表达式”,强调了pbregexp组件的强大功能,意味着它可能支持丰富的正则表达式语法,如量词(*、+、?)、字符类、预定义字符集、...

Global site tag (gtag.js) - Google Analytics