JS и React Native: сопоставьте номера телефонов с номерами с сервера - PullRequest
1 голос
/ 07 апреля 2019

У меня такая ситуация:

  1. Номер телефона с сервера с кодом страны всегда: 380676704338

  2. Номер телефона в телефоне: 0676704338 или 380676704338

Если номер телефона контакта с телефона совпадает с номером телефона с сервера, его следует заменить на номер телефона с сервера.

Как лучше всего реализовать такую ​​логику? Могут быть ситуации, когда телефонный номер имеет разную длину и корпус может быть одинаковым, например:

380 999999999
370 999999999

В данный момент я проверяю последние 5 цифр обеих строк.

const isMatch = (str1, str2) => {
    if (str1 === str2) return true;
    if (str2.length < 5) return false;
    return str1.endsWith(str2.slice(-5))
};

Как лучше всего реализовать такую ​​логику?

1 Ответ

0 голосов
/ 07 апреля 2019

Вы можете напрямую использовать endsWith только

let server = `380676704338`
let phone = `0676704338`

let match = (server,str) => str.length >= 5 && server.endsWith(str) 

console.log(match(server,phone))
console.log(match(server,'1234567'))
console.log(match(server,'380676704338'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...