Javascript JS和React Native:将电话号码与服务器上的电话号码进行匹配

Javascript JS和React Native:将电话号码与服务器上的电话号码进行匹配,javascript,string,react-native,Javascript,String,React Native,我有这样的情况: 来自国家/地区代码始终为3806704338的服务器的电话号码 电话号码:0676704338或380676704338 如果来自电话的联系人电话号码与来自服务器的联系人电话号码匹配,则应将其替换为来自服务器的联系人电话号码 实现这种逻辑的最佳方式是什么?在某些情况下,电话号码的长度可能不同,而电话号码的主体可能相同,例如: 380 999999999 370 999999999 现在我检查两个字符串的最后5位 const isMatch = (str1, str2) =&g

我有这样的情况:

  • 来自国家/地区代码始终为3806704338的服务器的电话号码

  • 电话号码: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))
    };
    
    const isMatch=(str1,str2)=>{
    if(str1==str2)返回true;
    if(str2.length<5)返回false;
    返回str1.endsWith(str2.slice(-5))
    };
    

    实现这种逻辑的最佳方法是什么?

    您只能直接使用
    endsWith

    let server=`3806704338`
    let phone=`0676704338`
    让match=(server,str)=>str.length>=5&&server.endsWith(str)
    console.log(匹配(服务器、电话))
    log(匹配(服务器,'1234567'))
    
    log(匹配(服务器,'380676704338'))
    您只能直接使用
    endsWith

    let server=`3806704338`
    let phone=`0676704338`
    让match=(server,str)=>str.length>=5&&server.endsWith(str)
    console.log(匹配(服务器、电话))
    log(匹配(服务器,'1234567'))
    
    console.log(匹配(服务器,'380676704338'))
    国家/地区始终是三位数字或长度将发生变化不总是三位数字,可能是2或电话号码始终是10位数字??不,长度可能不同,这就是任务复杂的原因国家/地区始终是三位数字或长度将发生变化不总是三位数字,可能是2或电话号码总是10位数??不,长度可能不同,这就是任务复杂的原因