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));
}
}
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)