手机号码实现注册的业务逻辑代码

具体需求在代码中有体现

业务代码如下:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 用户手机号注册校验
 * 
 * @author Ahualy
 * 
 * 该代码逻辑独立完成
 *
 */
public class PhoneNum {
	private static  List<String> effectivemobilenumber = new ArrayList<>();    //首先创建一个列表,将有效的手机号码进行存储
	public static void main(String[] args) {
		// TODO 通过此手机号注册成功
		String phoneNum1 = "138 1234 1234";

		// TODO 通过本手机号无法注册,提示为非法手机号
		String phoneNum2 = "13812345abc";

		// TODO 通过此手机号注册成功
		String phoneNum3 = "13812345678";

		// TODO 提示此手机号已经被其他用户注册
		String phoneNum4 = "138 1234 5678";

		// TODO 此手机号码为中国大陆非法手机号码
		String phoneNum5 = "98765432101";
		
		int i = 10;  // 测试次数
		Scanner scanner = new Scanner(System.in);
		
		while(i>0) {
			
			String phoneNum = scanner.nextLine();
			
			System.out.println(isMobileNO(phoneNum));
			
			i--;
		}
			scanner.close();
	}
	//业务代码方法编写    
	public static String isMobileNO(String mobiles) {
		
	    //1.对字符串进行处理,去掉字符串中的所有空格
	    mobiles = mobiles.replaceAll(" ","");
	    
	    for (int i = mobiles.length(); --i >=0;) {
	          if (!Character.isDigit(mobiles.charAt(i))) {  //  2.判断输入的手机号是否含有出数字以外的字符
	                return "通过本手机号无法注册,此手机号为非法手机号";
	          } else {                                      //  3.判断该手机号码是否是大陆手机号码
	        	Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
	      		Matcher m = p.matcher(mobiles);
	      		if (m.matches()) {  //4.程序执行到这里说明手机号码有效
	      			
	      			if (effectivemobilenumber.contains(mobiles)) {  // 5.判断手机号码是否已经被注册
	      				return "此手机号已经被其他用户注册";
	      			} else {
	      				effectivemobilenumber.add(mobiles);     // 6.没有注册就将手机号码存入List集合
	      				for (String string : effectivemobilenumber) {
							System.out.println(string);
						}
	      				return mobiles+"手机号码注册成功";
	      			}
	      		}else {
	      			return "此手机号码为中国大陆非法手机号码";
	      		}
	         }
	    }
		return "";
	}
}

声明
原创作品,未经授权,严谨转载
如果觉得对你有帮助,我就没白写,如果需要交流,可以留言,或者加我wx