欢迎访问宙启技术站
智能推送

使用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开发者有所帮助。