我正在使用JavaScript从推文中提取以9开头的电话号码,再提取其他9位数字。

这是我使用的正则表达式模式:

var numberPattern = /^9[0-9]{9}/;

这是模式匹配阶段:

var numberstring = JSON.stringify(data[i].text);
        if(numberPattern.test(data[i].text.toString()) == true){

          var obj={
            tweet : {
                status : data[i].text
            },
            phone : numberstring.match(numberPattern)

          }
          //console.log(numberstring.match(numberPattern));
          stringarray.push(obj);


问题是它只适用于少数几个而不是全部。另外,我想修改正则表达式以也接受数字的+91前缀和(或)拒绝数字的开头0。我是regex的初学者,因此需要帮助。谢谢。

例:


  #Chennai O-ve blood for @arun_scribbles 's friend's father surgery in few days. Pl call 9445866298. 15May. via @arun_scribbles

最佳答案

var numberPattern = /([+]91)?9[0-9]{9}\b/;

10-06 07:42