从电话号码中提取两位数字的正则表达式

Regex to extract two digits from phone number

本文关键字:两位 数字 正则表达式 电话号码 提取      更新时间:2023-09-26

我正试图从我的手机号码中只取2个字符。我使用了regex match ^'+55,它将返回以下示例。

电话号码:+5546342543

Result: 46342543

预期结果仅为46

我不想用substring作为答案,我想用regex从电话号码中提取答案。

您使用的模式- ^'+55 -匹配字符串开头的文字+和后面的两个5

46是出现在初始+55之后的子字符串。在某些语言中,您可以使用后面查找(参见示例)来匹配前面有另一个文本的文本。

JavaScript不支持向后看,所以你需要使用来捕获组

您可以使用string#matchRegExp#exec来获取用圆括号标记的捕获文本:

var s = '+5546342543';
if ((m=/^'+55('d{2})/.exec(s)) !== null) {
    document.write(m[1]);
  }

试试:

'+5546342543'.match(/^'+55('d{2})/)[1];

这将得到你想要的

"+5546342543".match(/^'+55(.*)/)[1]

这就解决你的问题了?

phoneNumber = "+5546342543"
phone = phoneNumber.substr(3) // returns "46342543" 
twoDigits = phoneNumber.substr(3,2) // returns "46"

使用引用的substr()方法:

substr()方法返回从指定位置开始到指定字符数的字符串中的字符。

语法:str.substr(start[, length])

来源:Mozilla MDN