熊小白2019
2021-07-02 10:22
采纳率: 100%
浏览 40
已采纳

如何用正则表达式匹配多个手机号码?

   **一行文本里有多个人员的手机号码(例如:今日2021年7月2日张三(手机号:15978941236),王四12347895623,李八手机号23014567859,相约去菜市场买菜。)如何用正则表达式筛选出所有的手机号码?******
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 404警告 2021-07-02 11:07
    已采纳
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Login</title>
            <link rel="stylesheet" type="text/css" href="Login.css" />
        </head>
        <body>
        </body>
        <script language=javascript>
            var content = '我的电话是:15267854101,.妈妈的电话:13067854108.kghjkg哥哥的电话:15267854108';
            content = '今日2021年7月2日张三(手机号:15978941236),王四12347895623,李八手机号23014567859,相约去菜市场买菜';
            var isMobile = /(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}/g;
            var pNums = content.trim().match(isMobile);
            if (pNums == null || pNums == "") {
                alert("未识别任何信息!");
            }
            console.log(pNums)
        </script>
    </html>
    
    
    

    一個也可以 換一種篩選

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 404警告 2021-07-02 10:45

    完全匹配手机号是否好用最好进行切割取出每一个手机号验证正则 应该不可能实现一个正则去匹配你这一个文本的要不如楼上不做太多验证 只要满足1开头 11位

    评论
    解决 无用
    打赏 举报
  • var pattern = /[1][3,4,5,6,7,8,9][0-9]{9}/gi;
       var str = '今日2021年7月2日张三(手机号:15978941236),王四12347895623,李八手机号23014567859,17810234567相约去菜市场买菜。';
       var strArr=str.split(",");
       let arr=[];
       strArr.map((item)=>{
           console.log(item)
           if(pattern.test(item)){
                arr.push(item.match(pattern));
           }
       })
       console.log(arr.flat());//flat es6拉平数组,多维转换一维
    
    评论
    解决 无用
    打赏 举报
  • CSDN专家-文盲老顾 2021-07-02 10:26
    '**一行文本里有多个人员的手机号码(例如:今日2021年7月2日张三(手机号:15978941236),王四12347895623,李八手机号23014567859,相约去菜市场买菜。)如何用正则表达式筛选出所有的手机号码?******'.match(/1\d{10}/gi)
    

    简单的验证下,手机号必须数字1开头,11位数字

    评论
    解决 无用 1
    打赏 举报

相关推荐 更多相似问题