java编程实现自定义异常判断一个手机号码的合法性

Python014

java编程实现自定义异常判断一个手机号码的合法性,第1张

正则判断,

 /**

     * 验证手机号码格式是否正确

     * @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

}