电话号码正则表达式的问题

pig_2000 2010-01-26 04:44:32
var tel = document.getElementById("reg_tel").value;
if(tel=="" || tel.length<7 || tel.length>12 ||tel.search(/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/) == -1)
{

alert("电话号码格式错误!");
//document.regmain.reg_tel.focus();
return false;
}else{......


为什么我输入正确的手机号码,也报“电话号码格式错误”???
大家帮我看看哪里有问题,应该怎么改?
...全文
112 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
星火燎猿 2010-01-26
  • 打赏
  • 举报
回复
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
friendly_ 2010-01-26
  • 打赏
  • 举报
回复
你的正则中的最后的(^0{0,1}13[0-9]{9}$)应该是判断手机号码的,它判断的是以13开头的手机号。若你输入的手机号是15开头的则不对,改成(^0{0,1}1[35][0-9]{9}$)
Alien 2010-01-26
  • 打赏
  • 举报
回复
给你写一个吧

function validateTel(sTel){
var reg = /^((d{3,4})|d{3,4}-)?d{7,8}$/;
return reg.test(sTel);
}
pig_2000 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yixianggao 的回复:]
呵呵,lz 自己调吧,把 if 的判断条件分解开,逐个调试!

不会分解代码等于不会写代码!
[/Quote]

我对js不了解,以前不是搞这个的,这是别人做的,有问题,所以才请教大家!
最好谁有成功的代码,直接给我,我替换一下,谢谢哦!
phoeni_xin 2010-01-26
  • 打赏
  • 举报
回复
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
yixianggao 2010-01-26
  • 打赏
  • 举报
回复
呵呵,lz 自己调吧,把 if 的判断条件分解开,逐个调试!

不会分解代码等于不会写代码!
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-26 04:44
社区公告
暂无公告