用正则判断,
/*** 验证手机号码格式是否正确
* @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
}
}
/*** 验证是否是手机号码
*
* @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
}