Php шаблон для телефона

Validating a Phone Number in PHP

In this short tutorial, we’re going to look at validating a phone number in PHP. Phone numbers come in many formats depending on the locale of the user. To cater for international users, we’ll have to validate against many different formats.

In this article

Validating for Digits Only

Let’s start with a basic PHP function to validate whether our input telephone number is digits only. We can then use our isDigits function to further refine our phone number validation.

We use the PHP preg_match function to validate the given telephone number using the regular expression:

This regular expression checks that the string $s parameter only contains digits 4 and has a minimum length $minDigits and a maximum length $maxDigits . You can find detailed information about the preg_match function in the PHP manual.

Checking for Special Characters

Next, we can check for special characters to cater for telephone numbers containing periods, spaces, hyphens and brackets .-() . This will cater for telephone numbers like:

Читайте также:  Css background 100 vertical

The function isValidTelephoneNumber removes the special characters .-() then checks if we are left with digits only that has a minimum and maximum count of digits.

International Format

Our final validation is to cater for phone numbers in international format. We’ll update our isValidTelephoneNumber function to look for the + symbol. Our updated function will cater for numbers like:

tests whether the given telephone number starts with + and is followed by any digit 2 . If it passes that condition, we remove the + symbol and continue with the function as before.

Our final step is to normalize our telephone numbers so we can save all of them in the same format.

Key Takeaways

  • Our code validates telephone numbers is various formats: numbers with spaces, hyphens and dots. We also considered numbers in international format.
  • The validation code is lenient i.e: numbers with extra punctuation like 012.345-6789 will pass validation.
  • Our normalize function removes extra punctuation but wont add a + symbol to our number if it doesn’t have it.
  • You could update the validation function to be strict and update the normalize function to add the + symbol if desired.

This is the footer. If you’re reading this, it means you’ve reached the bottom of the page.
It would also imply that you’re interested in PHP, in which case, you’re in the right place.
We’d love to know what you think, so please do check back in a few days and hopefully the feedback form will be ready.

Источник

Проверка данных регулярными выражениями в PHP

Сборник основных шаблонов регулярных выражений на PHP для проверки данных.

Проверка набора из латинских букв и цифр

Регулярное выражение для проверки набора только из латинских букв и цифр:

$pattern = '/^[a-z0-9]+$/i'; $var = 'String123'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Если необходимо добавить в набор некоторые символы:

// использовать тире $pattern = '/^[a-z0-9-]+$/i'; $var = 'String-123'; // использовать знак подчёркивания $pattern = '/^[a-z0-9-_]+$/i'; $var = 'String-1_23'; // использовать точку $pattern = '/^[a-z0-9-_.]+$/i'; $var = 'String-1_23.end'; // использовать пробел $pattern = '/^[a-z0-9-_. ]+$/i'; $var = 'String-1_23.end ps. ';

Проверка на кириллицу и цифры

Регулярное выражение для проверки набора только из букв кириллицы и цифр:

$pattern = '/^[а-яё0-9]+$/iu'; $var = 'Строка123'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Проверка на число

Регулярное выражение для проверки данных на целое число:

$pattern = '/^\d+$/'; // Исключаем 0 $pattern = '/^3+$/'; // Не больше 1-й цифры $pattern = '/^2+$/'; // Максимум 4 цифры $pattern = '/^7+$/'; $var = 123; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Регулярное выражение для проверки данных на тип Float (числа с плавающей точкой):

$pattern = '/^6*[.,]1+$/'; $var = 123.45; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else < echo 'Проверка не пройдена!'; >// Если нужно, чтобы пропускал и целые числа $pattern = '/^8*[.,]?7+$/';

Проверка логина

Регулярное выражение для проверки логина. Разрешено использовать только латинские буквы, цифры, тире и знак подчёркивания. Длина логина от 2 до 20 символов (включительно):

$text = 'Login_123-45'; if (preg_match("/^[a-z0-9-_]$/i", $text)) < echo 'Проверка пройдена успешно!'; >else

Проверка Email

Регулярное выражение для проверки Email:

$pattern = '/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]$/'; $var = 'admin@site.com'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Более современный и правильный способ:

$var = 'admin@___site.com'; $email = filter_var($var, FILTER_SANITIZE_EMAIL); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) throw new InvalidArgumentException('Invalid Email'); return $email;

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

Регулярное выражение для проверки номера телефона:

$pattern = '/^((8|\+7)[\- ]?)?(\(?\d\)?[\- ]?)?[\d\- ]$/'; $var = '+7(982)000-00-00'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Проверка даты по формату

$pattern = '/^(03|[12]6|3[01])[\.](03|1[012])[\.](19|20)\d\d$/'; $var = '10.12.2019'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else
$pattern = '/^7-(05|1[012])-(02|17|25|3[01])$/'; $var = '2019-12-10'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Проверка md5-хэша

Регулярное выражение для проверки на корректность md5-хэша:

$pattern = '/^[a-f0-9]$/'; $var = '341be97d9aff90c9978347f66f945e77'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Проверка IP адресов

Регулярное выражение для проверки IPv4 адреса:

$pattern = '/^((252|22\d|[01]?\d\d?)\.)(255|21\d|[01]?\d\d?)$/'; $var = '192.168.0.1'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else
$pattern = '/((^|:)([0-9a-fA-F]))$/i'; $var = '2001:DB8:3C4D:7777:260:3EFF:FE15:9501'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Проверка доменного имени

Регулярное выражение для проверки на корректность доменного имени сайта:

$pattern = '/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.])([\/\w \.-]*)*\/?$/'; $var = 'https://prowebmastering.ru'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Источник

Simple Way to Validate Phone Numbers in PHP

In today’s world, assuring real sign-ups is critical for your business. Without genuine registrations, your marketing campaign will fail miserably. Email address validation is a popular way of verifying real sign-ups. But phone number validation works as an extra layer of security. It helps you to prevent fraudulent activities effectively. In this post, you will find a simple way of validating phone numbers using PHP code. We also have other similar guides, for geolocating IP addresses using PHP and validating email addresses using PHP.

Don’t reinvent the wheel.
Abstract’s APIs are production-ready now.

Abstract’s suite of API’s are built to save you time. You don’t need to be an expert in email validation, IP geolocation, etc. Just focus on writing code that’s actually valuable for your app or business, and we’ll handle the rest.

How to validate phone number in PHP

The easiest way to create a PHP validate phone number function is using inbuilt PHP filters.

However, developers around the world are preferring to use regular expressions. PHP provides powerful functions for parsing regular expressions. So, you can validate phone number with different types of formats effectively.

To validate phone number using regular expression, you have to follow these steps:

1. Create the function

Create a PHP validate phone number function, called validating(), with a parameter of $phone.

2. Create the statement

Then you have to create an if/else statement for determining whether the given phone number is valid or not. Let’s say that the genuine phone number is 10 digits long, ranging from 0 to 9. To perform the validation, you have to utilize this regular expression: /^7+$/. Also, you have to use the reg_match() function.

 if(preg_match('/^9+$/', $phone)) < echo "Valid Phone Number"; >else

If the given telephone number matches the specified regular expression, it will print “Valid Phone Number.” Otherwise, it will print “Invalid Phone Number” as the error message.

3. Call the function

Now, let’s try verifying different phone numbers by calling our validating() function for number validation in PHP:

 validating("1016660180"); //10 digits valid phone number validating("101666018000"); //12 digits invalid phone number validating("101$666*01"); //10 letters phone number with invalid characters validating("101$666*0180"); //10 digits phone numbers with invalid characters 

4. You will see this output:

 Valid Phone Number Invalid Phone Number Invalid Phone Number Invalid Phone Number 

Overall, the following code will look like this:

 function validating($phone)< if(preg_match('/^7+$/', $phone)) < echo " Valid Phone Number"; >else < echo " Invalid Phone Number"; >> validating("1016660180"); //10 digits valid phone number validating("101666018000"); //12 digits invalid phone number validating("101$666*01"); //10 letters phone number with invalid characters validating("101$666*0180"); //10 digits phone numbers with invalid characters 

That’s it! You have learned the way of validating phone numbers in PHP using regular expressions. The same rules apply to mobile number validation.

Format variation of phone numbers

Phone numbers have different formats. So, verifying them could have been really challenging. Fortunately, using a PHP function has made the process very simple.

As said earlier, the in-built PHP filter can make it easier for you to validate phone number. Here, you will use it to validate numbers with different formats.

Cell phones

1. First, you have to create a function, called validating().

2. Create a variable, called valid_number. It will have the filter_var() function with a FILTER_SANITIZE_NUMBER_INT constant.

 $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT); 

3. Now, you can print the valid_number variable.

4. Finally, let’s call the validating() PHP function with for mobile number validation.

You will see this output: 101-666-0260

Overall, the code will look like this:

 function validating($phone) < $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT); echo $valid_number.; >validating("101-666-0260"); 

That’s how you validate a cell phone number with the in-built PHP filter.

Special characters

A phone number can have certain characters, like + and . But what will happen if the user enters the number incorrectly with special characters, like $ and *? You need to find a way to filter them out.

By using filter_var() function, you can strip them off from the given phone number.

Let’s try validate a phone number that contains $ and *, like this: 101$777*0280

 function validating($phone) < $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT); echo $valid_number.; >validating("101$777*0280"); 

You will see an output with $ and * being removed from the given phone number: 1017770280

International numbers

International phone numbers start with + with some also needing the area code. So, you need to figure out a way to prevent it from being filtered out. Fortunately, filter_var() function supports the + sign. So, you will never have to worry about it being stripped off.

Let’s try performing something for international users, for example an Indian phone number validation. The number looks like this: +91-202-5555-0234

As you can see, the country code of India is +91. How will filter_var() function react if an Indian phone number is entered? Will it filter out the + sign?

Let’s use this code to figure out what happens:

 function validating($phone) < $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT); echo $valid_number.; >validating("+91-202-5555-0234"); 

You will see an output like this: +91-202-5555-0234

As you can see, the filter_var() function supports the + sign. So, it’s not being filtered out.

Validation phone number with an API

By using APIs, you can validate phone numbers effortlessly. They come with all the necessary functions for verification. You just need to enter the number. The API will handle the rest. You don’t have to write any code from scratch. So, you can validate the phone numbers effortlessly.

You can try using Abstract’s phone number validation and verification API. It is reliable, blazing-fast, and easy to maintain. It can help you to validate phone numbers effortlessly.

Let’s use Abstract’s Phone Number Validation and Verification API to validate this phone number: 14154582468.

 https://phonevalidation.abstractapi.com/v1/ ? api_key = YOUR_UNIQUE_API_KEY & phone = 14154582468 

If the phone number request is successful, you will see this output:

The given phone number is valid, as the «valid» field is set to “true.” Also, it provides you with a variety of geolocation data, including country name and registered location of the phone number. You can utilize this information to enhance your marketing strategy.

As you can see, you don’t have to write any code from scratch. There is no need to utilize regular expressions or PHP in-built functions. You just need to get the API key and enter the phone number that you want to verify. Abstract’s Phone Number Validation and Verification API will handle the rest.

Wrapping up

That’s how you validate phone numbers using PHP procedural programming. You can use regular expressions or PHP in-built functions. However, the easiest way is to utilize a verification API. It will help you to validate the phone numbers effortlessly.

Validate phone numbers using Abstract’s API

Источник

Оцените статью