天天看點

oracle手機号碼檢驗字數_oracle判斷手機号碼是否合法

合法手機号碼:都是11位數,并且以13、15、18開頭的。

create or replace function isLegal

(phoneNumber  in  varchar2) return number

--傳回0表示是合法,傳回1表示是不合法

as

begin

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;

原文:http://7883830.blog.51cto.com/7873830/1623412