Generate Random Phone Numbers in Java
Complete code tutorial with examples and best practices
[ Code Example - Quick Summary ]
Language: Java
What: Generate random phone numbers in Java using Random and JavaFaker library. Covers US format, international format, and validation for testing.
Try it: Use our interactive Phone-numbers generator or integrate this code into your Java application.
Generate random phone numbers in Java using Random and JavaFaker library. Covers US format, international format, and validation for testing. Looking for other languages? Check our code examples in PHP , JavaScript , Python , C# , C++ , Ruby and Go or use our interactive web generator.
Java Code Example
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.regex.Pattern;
public class PhoneNumberGenerator {
private static final Random random = new Random();
// Generate random US phone number (xxx) xxx-xxxx
public static String randomUsPhoneNumber() {
int areaCode = random.nextInt(800) + 200;
int exchange = random.nextInt(800) + 200;
int lineNumber = random.nextInt(9000) + 1000;
return String.format("(%03d) %03d-%04d", areaCode, exchange, lineNumber);
}
// Generate random phone number with country code
public static String randomInternationalPhone(String countryCode) {
int areaCode = random.nextInt(800) + 200;
int exchange = random.nextInt(800) + 200;
int lineNumber = random.nextInt(9000) + 1000;
return String.format("%s (%03d) %03d-%04d", countryCode, areaCode, exchange, lineNumber);
}
// Generate phone number without formatting
public static String randomPhoneDigits(int length) {
StringBuilder phone = new StringBuilder();
for (int i = 0; i < length; i++) {
phone.append(random.nextInt(10));
}
return phone.toString();
}
// Validate US phone number format
public static boolean isValidUsPhone(String phone) {
return Pattern.matches("^\(\d{3}\) \d{3}-\d{4}$", phone);
}
// Generate multiple phone numbers
public static List<String> generatePhoneNumbers(int count) {
List<String> phones = new ArrayList<>();
for (int i = 0; i < count; i++) {
phones.add(randomUsPhoneNumber());
}
return phones;
}
// Using JavaFaker library (Maven: com.github.javafaker:javafaker:1.0.2)
// import com.github.javafaker.Faker;
// Faker faker = new Faker();
// String phone = faker.phoneNumber().phoneNumber(); // (555) 123-4567
// String cellPhone = faker.phoneNumber().cellPhone(); // 555-123-4567
public static void main(String[] args) {
System.out.println("US Phone: " + randomUsPhoneNumber());
System.out.println("International: " + randomInternationalPhone("+44"));
System.out.println("Digits only: " + randomPhoneDigits(10));
System.out.println("Valid: " + isValidUsPhone("(555) 123-4567"));
System.out.println("Batch: " + String.join(", ", generatePhoneNumbers(3)));
}
}
[EXPLANATION]
Java uses Random.nextInt() for generating area codes (200-999), exchanges (200-999), and line numbers (1000-9999). String.format("%03d") formats with leading zeros. Pattern.matches() validates regex patterns. StringBuilder efficiently builds digit-only strings. JavaFaker library offers phoneNumber().phoneNumber() for various formats and cellPhone() for mobile numbers. ArrayList stores batch results.
Expected Output
US Phone: (555) 234-5678 International: +44 (555) 234-5678 Digits only: 5551234567 Valid: true Batch: (234) 567-8901, (345) 678-9012, (456) 789-0123
Common Use Cases
- Generate phone numbers for Spring Boot user registration testing
- Create contact data for JPA/Hibernate entity testing
- Populate test databases with phone number data
- Test phone validation in enterprise Java applications
- Generate mock data for SMS gateway integration
Important Notes
-
String.format("%03d")formats as 3-digit with zero-padding - JavaFaker integrates with JUnit and TestNG for testing frameworks
-
StringBuilderis more efficient than string concatenation in loops -
Pattern.matches()compiles regex each call; cache Pattern for reuse -
JavaFaker supports locales:
new Faker(Locale.US)
Try Our Interactive Generator
Don't want to write code? Use our free web-based Phone-numbers generator with instant results.
TRY PHONE-NUMBERS GENERATOR →Other Programming Languages
View Phone-numbers generation code examples in PHP
View Phone-numbers generation code examples in JavaScript
View Phone-numbers generation code examples in Python
View Phone-numbers generation code examples in C#
View Phone-numbers generation code examples in C++
View Phone-numbers generation code examples in Ruby
View Phone-numbers generation code examples in Go