大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用正则判断,
创新互联服务项目包括兰溪网站建设、兰溪网站制作、兰溪网页制作以及兰溪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,兰溪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到兰溪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
/**
* 验证手机号码格式是否正确
* @param mobiles
* @return true 表示正确 false表示不正确
*/
public static boolean isMobileNum(String mobiles) {
Pattern p = Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\\d{8}");
Matcher m = p.matcher(mobiles);
return m.matches();
}
当然手机号码好像还有17开头的,对应的正则改一下就好
"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}"
然后在你的代码里面调用这个方法,如果结果为false,就throw new MyException(“手机号码格式不正确”)一个异常。
异常定义可以去继承Exception
/**
* Created by Kevin on 2015/3/30.
*/
public class MyException extends Exception{
private String msg;
public MyException(String msg) {
super(msg);
this.msg = msg;
}
@Override
public String getMessage() {
return msg;
}
}
可以借助正则表达式来验证手机号码,这是比较高效的做法
public class IsPhone {
public final static String PHONE_PATTERN="^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([0,1,6,7,]))|(18[0-2,5-9]))\\d{8}$";
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入验证号码");
String val = scan.nextLine();
boolean isPhone =Pattern.compile(PHONE_PATTERN).matcher(val).matches();
System.out.println(isPhone?"是一个手机号码":"不是手机号");
}
}
这个你要根据移动和其他号码不同的地方 , 也就是开头三位数来判断啊
可以将手机号用字符来表示
然后用String的 startsWith("150") 方法来判断 , 当然如果这样的话 , 你需要搜集移动号码的所有可能性 , 然后用 || 逻辑或 放在一起
或者你也可以把所有移动手机号所属的前三位 放到一个数组或者集合中 , 比如{"150","158"}
然后把需要判断的手机号 截取前三位 , 判断是否在集合或者数组中