正则表达式、 怎么判断 国内电话号码 带区号 3-4 位、分机的 20
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里的非法字符去掉
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里的非法字符去掉
展开全部
^(((0\d{3}[\-])?\d{7}|(0\d{2}[\-])?\d{8}))([\-]\d{2,4})?$
中间用-作为分隔符,注意-必须转义
中间用-作为分隔符,注意-必须转义
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用mooncar_xy的回答:
^(((0\d{3}[\-])?\d{7}|(0\d{2}[\-])?\d{8}))([\-]\d{2,4})?$
中间用-作为分隔符,注意-必须转义
^(((0\d{3}[\-])?\d{7}|(0\d{2}[\-])?\d{8}))([\-]\d{2,4})?$
中间用-作为分隔符,注意-必须转义
展开全部
^(((0\d{2,3})[\-]))?[1-9]\d{7}[\-]?\d{2,4})?$
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询