正则表达式、 怎么判断 国内电话号码 带区号 3-4 位、分机的

正则表达式、 怎么判断 国内电话号码 带区号 3-4 位、分机的 不带区号、 不带分机也可以的

区号要么是3位,要么是4位吧,把这个改下
drop table tel;
create table tel(code varchar(20));
insert into tel values ('010-66667788');
insert into tel values ('010-55667788');
insert into tel values ('0755-56567788');

create table reg(code varchar(20),city varchar(20));
insert into reg values('010','北京');
insert into reg values('020','广州');
insert into reg values('0755','深圳');

select substr(code,0,3) from tel;
select instr(code,'-') from tel;
select substr(tel.code,0,instr(code,'-')-1) from tel;
select replace('010','010','北京') from dual;

select reg.city||' '||substr(tel.code,instr(tel.code,'-')+1),replace(replace(tel.code,substr(tel.code,0,instr(tel.code,'-')-1),reg.city),'-',' ')
from tel,reg where substr(tel.code,0,instr(tel.code,'-')-1)=reg.code;

where条件加个or,判断区号是3位或4位匹配的,之前把你code里的非法字符去掉
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-22
^(((0\d{3}[\-])?\d{7}|(0\d{2}[\-])?\d{8}))([\-]\d{2,4})?$

中间用-作为分隔符,注意-必须转义本回答被网友采纳
第2个回答  2011-07-22
开头有0的都是区号
第3个回答  2018-03-28
^(((0\d{2,3})[\-]))?[1-9]\d{7}[\-]?\d{2,4})?$

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网