使用Java函数验证手机号码是否有效
发布时间:2023-05-24 02:16:28
在现代生活中,手机已经成为人们的必需品。通过手机可以完成各种事情,如发送短信、拨打电话、浏览网页等等。因此,我们对手机号码的保护尤为重要。而手机号码是否有效,对其保护也十分重要。本文将介绍如何使用Java函数验证手机号码是否有效。
1. 手机号码的格式
在验证手机号码之前,首先要了解手机号码的格式。中国手机的号码是11位数字,以1开头,第二位是3或5或6或7或8或9,接下来是9位数字。例如:13888888888、15222222222、13666666666。
2. 编写Java函数
有了以上基础,我们就可以开始编写Java函数,以验证手机号码是否有效。编写Java函数,在验证手机号码的过程中,我们可以采用正则表达式的方式来实现。利用正则表达式可以很方便地匹配出手机号码是否符合规则。
代码如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CheckPhoneNum {
/**
* 验证手机号码是否有效
*
* @param phoneNum 手机号码
* @return true表示有效,false表示无效
*/
public static boolean checkPhoneNum(String phoneNum) {
boolean flag = false;
try {
String regExp = "^1([3-9]\\d{9}$)";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(phoneNum);
flag = m.matches();
} catch (Exception e) {
flag = false;
}
return flag;
}
public static void main(String[] args) {
String phoneNum = "13888888888";
boolean flag = checkPhoneNum(phoneNum);
if (flag) {
System.out.println("有效手机号码");
} else {
System.out.println("无效手机号码");
}
}
}
在上面的代码中,我们调用了正则表达式匹配手机号码是否有效。这里使用的是Java的Pattern和Matcher类库,直接调用API匹配是否符合规则即可。
3. 测试
为了验证Java函数是否正确,我们可以编写一个测试案例,具体代码如下:
import org.junit.Assert;
import org.junit.Test;
public class CheckPhoneNumTest {
@Test
public void checkPhoneNum() {
// 有效手机号码
String phoneNum1 = "13888888888";
Assert.assertTrue(CheckPhoneNum.checkPhoneNum(phoneNum1));
// 无效手机号码
String phoneNum2 = "158888888888";
Assert.assertFalse(CheckPhoneNum.checkPhoneNum(phoneNum2));
// 无效手机号码
String phoneNum3 = "23666666666";
Assert.assertFalse(CheckPhoneNum.checkPhoneNum(phoneNum3));
// 无效手机号码
String phoneNum4 = "";
Assert.assertFalse(CheckPhoneNum.checkPhoneNum(phoneNum4));
// 无效手机号码
String phoneNum5 = null;
Assert.assertFalse(CheckPhoneNum.checkPhoneNum(phoneNum5));
// 无效手机号码
String phoneNum6 = "13888";
Assert.assertFalse(CheckPhoneNum.checkPhoneNum(phoneNum6));
}
}
在代码中我们使用了JUnit框架进行测试,可以方便地对Java函数的正确性进行验证。
4. 总结
本文介绍了如何使用Java函数验证手机号码是否有效。在实际开发中,验证手机号码是否有效是一个必须要进行的操作。我们可以通过Java正则表达式的方式进行验证,具体代码实现也在文中进行了讲解。希望本文对Java开发者有所帮助。
