将电话号码拆分为区号和国家/地区代码

时间:2016-08-05 00:27:08

标签: angularjs input split

我正在开发angularJS:

我有一个输入字段可以接收10个数字;我将这个号码存入$ scope。

在myApp的其他部分,我将获取此号码并将其发送给服务。但在发送之前,我必须将其分成两部分。前3个必须是区号,其余7个必须是国家代码。

2 个答案:

答案 0 :(得分:2)

普通Javascript:

var input = "0123456789";
var area = input.substring(0, 3);
var country = input.substring(3, 10);

答案 1 :(得分:1)

考虑做一个积极的前瞻性正则表达式(?=),以确保输入有10位数。

然后通过执行(\d{x})将数字捕获到2个单独的组中,其中x是您想要的位数。

示例:



"use strict";
let match = /(?=\d{10})(\d{3})(\d{7})/.exec("9994567890");
if (match) {
  let area = match[1];
  let country = match[2];
  console.log("Area code is: " + area);
  console.log("Country code is: " + country);
}
else {
  console.log("Invalid phone number.")
}