Как проверить номер телефона, используя ответ - PullRequest
0 голосов
/ 26 февраля 2019

В настоящее время я проверяю, чтобы проверить номер мобильного телефона с помощью плагина 'libphonenumber-js' в реакции.

У него есть открытый метод isValidNumber он был использован для проверки номера мобильного телефона с добавочным кодом.

Моя проблема: я, м, эта функция приняла 11-значный индийский номер мобильного телефона (на самом деле индийский номер мобильного телефона имеет только 10-значный номер).Как решить эту проблему?

Фактическое поведение

isValidNumber('+919876543210') => return true (10 digits)
isValidNumber('+91987654321') => return false (9 digits)
isValidNumber('+91987654321011') => return false  (12 digits)
isValidNumber('+9198765432101') => return true (11 digits) // Accepted 11 digits :-(

Ожидаемое поведение

isValidNumber('+919876543210') => return true (10 digits)
isValidNumber('+91987654321') => return false (9 digits)
isValidNumber('+91987654321011') => return false  (12 digits)
isValidNumber('+9198765432101') => return false (11 digits) // It should be return false

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете использовать пакет проверки 'npm'.

npm install validator --save

, затем

import validator from 'validator' 

validatePhoneNumber = (number) => {
 const isValidPhoneNumber = validator.isMobilePhone(number)
 return (isValidPhoneNumber)
}


console.log(validatePhoneNumber('react')) //=> false
console.log(validatePhoneNumber('0641732123')) //=> true

, вы также можете установить локаль для определенных стран (например, 'en-ZA') ибольше как ваши варианты.

документы: https://www.npmjs.com/package/validator

0 голосов
/ 26 февраля 2019

Если у вас нет проблем с использованием пакета npm, вы можете использовать пакет

http://catamphetamine.github.io/react-phone-number-input/

.С помощью этого пакета вы можете легко проверить любой номер телефона.

...