使用.split功能拆分电话号码



我有一个从api返回的电话号码值,我试图将其值分为三部分。但是,电话号码的格式化方式让人很难理解如何应用.split函数——号码会像这样返回(AAA) BBB-CCCC。我在隔离时遇到的问题是中间的三个数字我第一次有了这个工作

phone.split(" ")[0] //returns AAA
phone.split("-")[1] // returns CCCC

但我不能破解中间的数字,我不应该使用。为中间值拆分?

您可以将一个简单的正则表达式与String.match((一起使用

var phoneNrParts = '(AAA) BBB-CCCC'.match(/((.*)) (.*)-(.*)/);
console.log('part 1: ', phoneNrParts[1]);
console.log('part 2: ', phoneNrParts[2]);
console.log('part 3: ', phoneNrParts[3]);

或者,您可以使用String.split((和上面相同的regex,但正如注释中所提到的,在这种情况下匹配更好

var phoneNrParts = '(AAA) BBB-CCCC'.split(/((.*)) (.*)-(.*)/);
console.log('part 1: ', phoneNrParts[1]);
console.log('part 2: ', phoneNrParts[2]);
console.log('part 3: ', phoneNrParts[3]);

在此处了解有关regex的更多信息:https://regex101.com/r/No8at8/1

可以通过拆分来实现。Split((返回一个子字符串数组。首先使用空格分隔符拆分字符串,然后使用'-'作为分隔符。

let string = "(AAA) BBB-CCCC";
let desiredResult = string.split(" ")[1].split("-")[0];
console.log(desiredResult);

最新更新