Oracle 正则表达式应用,密码有效性验证

密码要求:至少8位,包含大写字母、小写字母、数字和特殊符号。

CREATE OR REPLACE function f_valid_pwd(pwd in varchar2) return number
--密码有效性
is 
 mvalue number:=0;
BEGIN 
  if length(pwd)<8 then
    return (0);
  end if;
  
  if REGEXP_LIKE(pwd,'^.*[a-z].*$') and REGEXP_LIKE(pwd,'^.*[A-Z].*$') 
    and REGEXP_LIKE(pwd,'^.*[0-9].*$') and REGEXP_LIKE(pwd,'.*[^a-zA-Z0-9].*$') then  
       mvalue:=1;
  else
    mvalue:=0;
  end if;
  return (mvalue);
  EXCEPTION
  WHEN OTHERS  THEN
  return(mvalue);
END; 

没有用复杂的正则表达式,用逻辑表达式构成需求。

 

posted @ 2022-05-25 22:00  notis  阅读(214)  评论(0编辑  收藏  举报