现在的位置: 首页 > 综合 > 正文

判断是否是移动号码

2013年10月23日 ⁄ 综合 ⁄ 共 924字 ⁄ 字号 评论关闭
public class RegDemo
{
	private static final String  NUMBER="18759278256";
	public static void main(String[] args)
	{
		if(!isChinaMobileNum(NUMBER))
		{
			if(isPrefixNumber(NUMBER))
			{
				System.out.println("是移动号");
			}
			else
			{
				System.out.println("不是移动号");
			}
		}
		else
		{
			System.out.println("是移动号");
		}
	}
	
	private static boolean isPrefixNumber(String prefixNumber)
	{
		if(prefixNumber.startsWith("+86") || prefixNumber.startsWith("086"))
		{
			return isChinaMobileNum(prefixNumber.substring(3));
		}
		else if(prefixNumber.startsWith("12593") || prefixNumber.startsWith("12520"))
		{
			return isChinaMobileNum(prefixNumber.substring(5));
		}
		else if(prefixNumber.startsWith("086"))
		{
			return isChinaMobileNum(prefixNumber.substring(3));
		}
		else if(prefixNumber.startsWith("0"))
		{
			return isChinaMobileNum(prefixNumber.substring(1));
		}
		return false;
	}
	private static boolean isChinaMobileNum(String numStr)
	{
		if (numStr.matches("(134[0-8]|(135|136|137|138|139|150|151|152|157|158|159|182|187|188)[0-9])[0-9]{7}"))
		{
			return true;
		}
		return false;
	}
}

抱歉!评论已关闭.