boywukong
2012-05-29 09:53 浏览 434

求多个电话号码的正则

一个电话号码的正则是:^((\d{3,4}-)?\d{7,8})$|^(1\d{10})$

粗略认为是固话号或者手机号,固话号是3~4位区号数字+破折号+7~8位数字,手机号是1打头11位数字.

那么多个电话号码,中间以中文逗号分隔的正则应该怎么写?

 

下面是我写的一个正则,但是不能通过各种情况的验证

<script>
//中文逗号
var test1 = '1232132144,12333213111';
//12位数字
var test2 = '132132133333';
//非法的逗号位置
var test3 = '13213213333,13213213333,';
var test4 = ',13213213333,13213213333';
//非逗号分隔
var test5 = '13213213333 13213213333';
var test6 = '13213213333.13213213333';
//正确的格式
var test7 = ''13213213333,0311-1234567,011-12345678';


var phoneRegx = /((((\d{3,4}-)?\d{7,8})|(13[0-9]{9}))\,){0,}(((\d{3,4}-)?\d{7,8})|(13[0-9]{9}))$/;
    
alert(phoneRegx.test(test1));
alert(phoneRegx.test(test2));
alert(phoneRegx.test(test3));
alert(phoneRegx.test(test4));
alert(phoneRegx.test(test5));
alert(phoneRegx.test(test6));
alert(phoneRegx.test(test7));

</script>

求高手帮助解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    cumt_boy cumt_boy 2012-05-29 10:55

    ^((\d{3,4}-)?\d{7,8}|13[0-9]{9})(,(\d{3,4}-)?\d{7,8}|13[0-9]{9})*$

    点赞 7 评论 复制链接分享
  • cumt_boy cumt_boy 2012-05-29 10:39

    ((\d{3,4}-)?\d{7,8}|13[0-9]{9})(,(\d{3,4}-)?\d{7,8}|13[0-9]{9})*

    点赞 评论 复制链接分享

相关推荐