java 判断添加的用户名是否符合要求,怎么都跑不通,但是感觉没什么问题

java 用户名添加的问题,要求添加的用户名:①是唯一的,②用户名长度必须在3~15之间,③只能是字母加数字,但是不能是纯数字。
下面是我写的方法,用于检查是否符合要求的:

 public static boolean checkUserName(ArrayList<User> list,String UserName){
        for (int i = 0; i <list.size(); i++)
        {
                    if (list.get(i).getUserName().equals(UserName))
                    {
                        return false;
                    }
        }
        if((UserName.length()<3) ||( UserName.length()>15)){
            return false;
        }
        int numNumber=0;
        for(int i=0;i<UserName.length();i++){
            if((UserName.charAt(i)>='0')&&(UserName.charAt(i)<='9')){
                numNumber++;
            }
        }
        if(numNumber==UserName.length()){
            return false;
        }else if(numNumber==0){
            return false;
        }
        return true;
    }

不谈代码的简洁,只说功能,第三个功能未满足,不满足“只能是字母加数字”,对于第三条的要求,建议你借助正则去匹配,更准确便捷