合法手機号碼:都是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;