首页 > 解决方案 > 使用 .split 函数拆分电话号码

问题描述

我有一个从 api 返回的电话号码值,我试图将其值分成三个部分。但是电话号码的格式让人难以理解如何应用 .split 函数,这样返回的号码是这样的(AAA) BBB-CCCC 。我无法隔离的值是我有这个工作的第一个数字的中间三个数字

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

但是我不能破解中间数字我不应该使用 .split 作为中间值吗?

标签: javascriptsplit

解决方案


您可以使用带有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()与上面相同的正则表达式,但如评论中所述,在这种情况下匹配更好

var phoneNrParts = '(AAA) BBB-CCCC'.split(/\((.*)\) (.*)-(.*)/);

console.log('part 1: ', phoneNrParts[1]);
console.log('part 2: ', phoneNrParts[2]);
console.log('part 3: ', phoneNrParts[3]);

在此处了解有关正则表达式的更多信息:https ://regex101.com/r/No8at8/1


推荐阅读