Я использую следующий код для подтверждения номера телефона.Требования: номер телефона должен быть длиной от 10 до 25 символов, должен включать в себя переносы (-), точку (.), Круглые скобки ().
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ValidatePhoneNumber {
public static void main(String[] argv) {
String phoneNumber = "6058.8()6-05888,9994567";
System.out.println(phoneNumber.length());
//String sPhoneNumber = "605-88899991";
//String sPhoneNumber = "605-888999A";
String regex = "^[0-9.()-]{10,25}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {
System.out.println("Phone Number Valid");
} else {
System.out.println("Phone Number must be in the form XXX-XXXXXXX");
}
}
}
Я проверил проверки и все работает нормально, яВы также хотите добавить пробел "\ s", чтобы между телефонными номерами также могли быть пробелы.Но получая ошибки при добавлении "\ s" в регулярное выражение.