天天看点

oracle判断是否是手机号码,oracle判断手机号码是否合法

合法手机号码:都是11位数,并且以13、15、18开头的。

create or replace function isLegal(phoneNumber  in  varchar2) return number--返回0表示是合法,返回1表示是不合法asbegin   if length(phoneNumber) !=11 then return 1;   elsif replace(translate(phoneNumber, '0123456789', '0'), '0', '') IS not NULL THEN     --dbms_output.put_line(phoneNumber || '不是[0-9]的数字序列');     return 1;   elsif substr(phoneNumber,1,2) not in ('13','15','18') then       --dbms_output.put_line('前二位数字不合法:'||substr(phoneNumber,1,2));        return 1;    else     --dbms_output.put_line('合法号码');      return 0;   end if;      exception when others then       --dbms_output.put_line('异常:');        return 1;  end isLegal;