本文主要是介绍java 第一位是1 十一位,java如何判断手机号码是11为且第一位不是0且不是+86的形式...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
java如何判断手机号码是11为且第一位不是0且不是+86的形式
mip版 关注:201 答案:2 悬赏:80
解决时间 2021-01-26 11:38
已解决
2021-01-25 16:41
不用正则表达式写
最佳答案
2021-01-25 17:21
写在前面:最好还是用正则表达式,简单易懂,易于维护
===================================
//这个方法判断是不是合法的手机号码
public boolean isPhoneNumber(String phoneNumber){
//手机号码长度
int phoneLength=phoneNumber.length();
//第一位是不是0
String phoneOne=phoneNumber.substring(0,1);
//是不是 +86形式
int is86=phoneNumber.indexOf("+86");
//是纯数字 并且长度等于11 并且第一位不是0 并且 不包含+86
return isNumeric(phoneNumber)&&phoneLength==11&&!phoneOne.equals("0")&&is86==-1;
}
//这个方法判断字符串是不是纯数字
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
全部回答
1楼
2021-01-25 18:46
用正则判断,
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
public class myexception extends exception{
private string msg;
public myexception(string msg) {
super(msg);
this.msg = msg;
}
@override
public string getmessage() {
return msg;
}
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看
这篇关于java 第一位是1 十一位,java如何判断手机号码是11为且第一位不是0且不是+86的形式...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!