Рубрики
Без рубрики

Проверка номера телефона с помощью регулярного выражения является сложной задачей, поскольку номер телефона может быть записан во многих форматах и также может иметь расширения. Для

Проверка номера телефона с помощью регулярного выражения является сложной задачей, поскольку номер телефона может быть записан во многих форматах и также может иметь расширения. Для

Автор оригинала: Pankaj Kumar.

Проверка номера телефона с помощью регулярного выражения является сложной задачей, поскольку номер телефона может быть записан во многих форматах и также может иметь расширения.

Например, вот некоторые из распространенных способов написания телефонных номеров:

  • 1234567890
  • 123-456-7890
  • 123-456-7890 x1234
  • 123-456-7890 доб. 1234
  • (123)-456-7890
  • 123.456.7890
  • 123 456 7890

Проверка номера телефона на Java

Здесь я использую регулярные выражения java для проверки любого из вышеперечисленных телефонных номеров формата.

package com.journaldev.util;

public class PhoneNumberValidator {
	
	
	public static void main(String[] args) {
		System.out.println("Phone number 1234567890 validation result: "+validatePhoneNumber("1234567890"));
		System.out.println("Phone number 123-456-7890 validation result: "+validatePhoneNumber("123-456-7890"));
		System.out.println("Phone number 123-456-7890 x1234 validation result: "+validatePhoneNumber("123-456-7890 x1234"));
		System.out.println("Phone number 123-456-7890 ext1234 validation result: "+validatePhoneNumber("123-456-7890 ext1234"));
		System.out.println("Phone number (123)-456-7890 validation result: "+validatePhoneNumber("(123)-456-7890"));
		System.out.println("Phone number 123.456.7890 validation result: "+validatePhoneNumber("123.456.7890"));
		System.out.println("Phone number 123 456 7890 validation result: "+validatePhoneNumber("123 456 7890"));
	}

	private static boolean validatePhoneNumber(String phoneNo) {
		//validate phone numbers of format "1234567890"
		if (phoneNo.matches("\\d{10}")) return true;
		//validating phone number with -, . or spaces
		else if(phoneNo.matches("\\d{3}[-\\.\\s]\\d{3}[-\\.\\s]\\d{4}")) return true;
		//validating phone number with extension length from 3 to 5
		else if(phoneNo.matches("\\d{3}-\\d{3}-\\d{4}\\s(x|(ext))\\d{3,5}")) return true;
		//validating phone number where area code is in braces ()
		else if(phoneNo.matches("\\(\\d{3}\\)-\\d{3}-\\d{4}")) return true;
		//return false if nothing matches the input
		else return false;
		
	}

}

Вот результат вышеупомянутой программы проверки регулярных выражений телефонных номеров.

Phone number 1234567890 validation result: true
Phone number 123-456-7890 validation result: true
Phone number 123-456-7890 x1234 validation result: true
Phone number 123-456-7890 ext1234 validation result: true
Phone number (123)-456-7890 validation result: true
Phone number 123.456.7890 validation result: true
Phone number 123 456 7890 validation result: true

Лучшая часть этой программы заключается в том, что ее легко понять, и вы можете легко расширить ее для поддержки других форматов телефонных номеров.