如何使用javascript将字符串提取到某个模式

时间:2018-01-23 01:56:06

标签: javascript regex

我有一些电话号码作为字符串,我已拆分为内部添加一些扩展。什么是更好的解决方案,而不是插入每个索引。这是我尝试过的。1234567891346输入输出就像(123) - 456 - 7891 Ext - 346

let phoneStr= '12345678912346';
     phoneStr.split("")
     let phoneNo =[];
     phoneNo[0]='(' ;
     phoneNo[1]=phoneStr[0] ;
     phoneNo[2]=phoneStr[1] ;
     phoneNo[3]=phoneStr[2] ;
     phoneNo[4]=')' ;
     phoneNo[5]=' - ' ;

     phoneNo[6]=phoneStr[3] ;
     phoneNo[7]=phoneStr[4] ;
     phoneNo[8]=phoneStr[5] ;
     phoneNo[9]=' - ' ;

     phoneNo[10]=phoneStr[6] ;
     phoneNo[11]=phoneStr[7] ;
     phoneNo[12]=phoneStr[8] ;
     phoneNo[13]=phoneStr[9] ;
     phoneNo[14]=' Ext - ' ;

     phoneNo[15]=phoneStr[10] ;
     phoneNo[15]=phoneStr[11] ;
     phoneNo[16]=phoneStr[12] ;
     phoneNo[17]=phoneStr[13] ;
     phoneNo[18]=phoneStr[14] ;
     console.log( phoneNo.toString().replace(/,/g , ""));

2 个答案:

答案 0 :(得分:0)

使用Array.prototype.slice()

let phoneStr= '12345678912346';
let formatted = '(' + phoneStr.slice(0,3) + ') - ' + phoneStr.slice(3,6) + ' - ' + phoneStr.slice(6,10) + ' Ext - ' + phoneStr.slice(10,15);
console.log(formatted);

答案 1 :(得分:0)

let phoneNo = `(${phoneStr.slice(0,3)}) - ${phoneStr.slice(3,5)} - ${phoneStr.slice(5,10)} Ext - ${phoneStr.slice(10, 14)}`

也许你需要巴贝尔