Javascript Regex从电话号码中提取两位数字

Javascript Regex从电话号码中提取两位数字,javascript,regex,Javascript,Regex,我试图从我的手机号码中只提取2个字符。 我使用了regex match^\+55,这将返回以下示例 电话号码:+5546342543 结果:46342543 预期结果仅为46 我不想使用子字符串作为答案,而是想用regex从phone no中提取答案 有人能帮我吗。 谢谢。试试: '+5546342543'.match(/^\+55(\d{2})/)[1]; 这会得到你想要的 "+5546342543".match(/^\+55(.*)/)[1] 这能解决你的问题吗 phoneNumber

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

电话号码:
+5546342543

结果:
46342543

预期结果仅为
46

我不想使用子字符串作为答案,而是想用regex从phone no中提取答案

有人能帮我吗。 谢谢。

试试:

'+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])


来源:

您使用的模式-
^\+55
-匹配字符串开头的一个文本
+
,后面的两个
5

46
是出现在首字母
+55
之后的子字符串。在某些语言中,可以使用(请参见)来匹配前面的某些文本

JavaScript没有look-behind支持,因此,您需要求助于

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

var s='+5546342543';
if((m=/^\+55(\d{2})/.exec(s))!==null){
文件编写(m[1]);

}
为什么要使用regex,而使用子字符串很容易解决?具体要求是什么?是否在开头的
+55
之后获取任意两个字符?或者在
+55
之后加上2个数字?在大多数情况下,字符串操作比正则表达式快。。。你有一个简单的字符串。。为什么要在子字符串上使用正则表达式?我想现实生活中的问题有点不同:如果需要进一步的帮助,只需在我的答案下添加注释。@Prabhakaran如果你觉得我的答案有用,记得接受它。