校验手机号很常见,当有的工具不满足你的需求时,就需要自己去写了,其实写每篇文章都是有原因的,由于使用别人封装的工具校验手机号是否合法不满足自己的需求,原来的手机号只会校验手机号牌的位数是否是11位,其它的就不校验了,所以就有了这篇文章的输出。
因为从网上也找不到自己满足自己的需求的,所以动手又在原有的工具类里面添加了一个新的校验手机号规则的方法。
下面的示例程序就是使用java常用的正则进行手机号的校验,自己写了几个测试手机号的正确和错误的示范,满足了方法的使用,分享出来是希望当未来的你遇到这个问题时可以现用就行了,不用再去写了,当然了自己喜欢去写,自己去写。
代码语言:javascript复制package com.wpw.learnlearn;
import org.springframework.util.StringUtils;
import java.util.regex.Pattern;
public class Test3 {
private static final String PHONE_REGEX;
static {
PHONE_REGEX = "^[1][3,4,5,6,7,8,9]\d{9}$";
}
public static void main(String[] args) {
String phone="13909010631";
boolean flag = validatePhone(phone);
System.out.println("flag = " flag);
String wrongPhone="11307660631";
boolean flag2 = validatePhone(wrongPhone);
System.out.println("flag2 = " flag2);
boolean flag3= validatePhone("");
System.out.println("flag3 = " flag3);
String wrongPhone2="12106370631";
boolean flag4 = validatePhone(wrongPhone2);
System.out.println("flag4 = " flag4);
String wrongPhone3="1390933063";
boolean flag5 = validatePhone(wrongPhone3);
System.out.println("flag5 = " flag5);
}
private static boolean validatePhone(String phoneNum) {
if (StringUtils.isEmpty(phoneNum)) {
return false;
}
return Pattern.compile(PHONE_REGEX).matcher(phoneNum).matches();
}
}
由于这是一个简单的示例程序,封装成工具类自己去简单封装一下就行了,这里还是以实用为主,好了,今天需要分享的内容就到这里结束了。