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

比如:23955558888,13700596648,010-62607878

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

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

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

先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 {
       //匹配失败
   }
}

你的逗号呢?
而且你保证第一个手机号,不是座机?

还不如先split切割,然后分别匹配,这样写起来改起来以及维护都简单。