三位或四位,号码7位或8位,应该就是说为开头为0的10位到12位吧,如果是这样的话,试试这个
<script language=javascript>
var reg=/^(((13[0-9]{9})|(159[0-9]{8})|(0\d{10,12}))(?:,|,))*$/
var str="13800138000,15900138000,03711234567,037812345678"
var str2="13800138000"
var str3="037812345678"
alert(str.replace(/($)/,',$1'))
alert(reg.test(str.replace(/($)/,',$1')))//str1验证
alert(reg.test(str2.replace(/($)/,',$1')))//str2验证
alert(reg.test(str3.replace(/($)/,',$1')))//str3验证
</script>