java使用正则表达式验证手机号和电话号码和邮箱号码的方法

验证手机号

我国的手机号一般是以1开头,后面跟着10位数字。因此,可以用如下正则表达式:

public static boolean isValidPhoneNumber(String phoneNumber) {
    String regex = "^1[3-9]\\d{9}$";  // 适用于中国手机号
    return phoneNumber.matches(regex);
}

验证电话号码

电话号码的格式可能会有所不同,通常包括区号和号码。可以用如下正则表达式(假设区号为3-4位,电话号码为7-8位):

public static boolean isValidTelephone(String telephone) {
    String regex = "^(\\d{3,4}-)?\\d{7,8}$";  // 区号可以选择性前缀,后面是电话号码
    return telephone.matches(regex);
}

验证邮箱地址

邮箱地址的基本格式通常是 用户名@域名,域名可以是多个部分:

public static boolean isValidEmail(String email) {
        String regex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";  // 邮箱格式
        return email.matches(regex);
    }

完整示例

下面是一个示例程序:

public class Validator {

    // 验证手机号
    public static boolean isValidPhoneNumber(String phoneNumber) {
        String regex = "^1[3-9]\\d{9}$";  // 我国手机号
        return phoneNumber.matches(regex);
    }

    // 验证电话号码
    public static boolean isValidTelephone(String telephone) {
        String regex = "^(\\d{3,4}-)?\\d{7,8}$";  // 区号可选,后面是电话号码
        return telephone.matches(regex);
    }

    // 验证邮箱地址
    public static boolean isValidEmail(String email) {
        String regex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";  // 邮箱格式
        return email.matches(regex);
    }

    public static void main(String[] args) {
        // 测试数据
        String mobile = "13812345678";
        String tel = "021-12345678";
        String email = "example@test.com";

        // 验证并输出结果
        System.out.println("手机号验证: " + isValidPhoneNumber(mobile));  
        System.out.println("电话号码验证: " + isValidTelephone(tel));     
        System.out.println("邮箱验证: " + isValidEmail(email));          
    }
}

运行结果:

posted @ 2024-09-29 17:51  &楼兰  阅读(270)  评论(0编辑  收藏  举报