༺ཌༀཉི浮华背后༃ༀད༻ 2015-06-19 09:13 采纳率: 100%
浏览 3115
已采纳

js 正则同时验证 手机号和座机 用逗号间隔

比如:23955558888,13700596648,010-62607878

现正则:/^(1\d{10})|(0\d{2,3}-?\d{7,8}(-\d{3,4})?$)/

这样可以匹配出座机不正确的,但是手机号却被当做座机处理了。
求正解!

补充:
我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的
手机号不会以 除 1 以外的数字开头;

  • 写回答

3条回答 默认 最新

  • SaneFuture 2015-06-21 13:33
    关注

    先split分割,然后调用这个函数:

     function checkMobile(str) {
       var rePhone =  /^((\+?86)|(\(\+86\)))?1\d{10}$/;
       var Tel = /^((\+?86)|(\(\+86\)))?\d{3,4}-\d{7,8}(-\d{3,4})?$/;
       if (rePhone.test(str)||Tel.test(str)) {
           //是手机或者座机
       } else {
           //匹配失败
       }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退