如何在ORACLE中创建一个函数来检查密码?
密码应包含:
>至少1个大写字母
>至少1个小写字母
>至少1位数
>至少8个字符长
>不包含3个连续的用户名字母
到目前为止,我达到了以下目标:
CREATE OR REPLACE FUNCTION dd_pwd_fun(username varchar2,password varchar2)
RETURN BOOLEAN IS
PWD_STR VARCHAR2
USER_NAME
BEGIN
PWD_STR = password;
USER_NAME=username;
IF LENGTH(PWD_STR) < 8 THEN
RETURN FALSE;
END IF;
if regexp_like(:PWD_STR,'^.*[a-z].*$') -- this is for small letter from a -z
and regexp_like(:PWD_STR,'^.*[A-Z].*$') -- this is for capital letters
and regexp_like(:PWD_STR,'^.*[0-9].*$') -- this is for numbers
这是我第一次使用正则表达式,我需要一些帮助来找到最后一个要求的解决方案,而且我想知道我是否在正确的轨道上