「java判断手机号码」java判断手机号码的正则表达式
今天给各位分享java判断手机号码的知识,其中也会对java判断手机号码的正则表达式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求java代码判断手机号是不是移动号
- 2、java如何判断手机号码是11为且第一位不是0且不是+86的形式
- 3、java编程实现自定义异常判断一个手机号码的合法性
- 4、JAVA 判断号码是手机还是固话
- 5、如何快速判断一个手机号码的运营商是移动还是联通或电信?
求java代码判断手机号是不是移动号
这个你要根据移动和其他号码不同的地方 , 也就是开头三位数来判断啊
可以将手机号用字符来表示
然后用String的 startsWith("150") 方法来判断 , 当然如果这样的话 , 你需要搜集移动号码的所有可能性 , 然后用 || 逻辑或 放在一起
或者你也可以把所有移动手机号所属的前三位 放到一个数组或者集合中 , 比如{"150","158"}
然后把需要判断的手机号 截取前三位 , 判断是否在集合或者数组中
java如何判断手机号码是11为且第一位不是0且不是+86的形式
写在前面:最好还是用正则表达式,简单易懂,易于维护
===================================
//这个方法判断是不是合法的手机号码
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;
}
java编程实现自定义异常判断一个手机号码的合法性
用正则判断,
/**
* 验证手机号码格式是否正确
* @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;
}
}
JAVA 判断号码是手机还是固话
/**
* 验证是否是手机号码
*
* @param str
* @return
*/
public static boolean isPhone(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("^(1[3,4,5,7,8][0-9])\\d{8}$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
/**
* 是否是座机电话号码
*
* @param str
* @return
*/
public static boolean isFixedLine(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern
.compile("^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
如何快速判断一个手机号码的运营商是移动还是联通或电信?
可以先看号段,联通已经放号的号段有:130、131、132、155、156、166、175、176、185、186、145、146号段,但携入联通的号码,号码没有改变,也属于联通用户。
java判断手机号码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java判断手机号码的正则表达式、java判断手机号码的信息别忘了在本站进行查找喔。