正则表达式——设置密码包含8到16位数字和字母

前端之家收集整理的这篇文章主要介绍了正则表达式——设置密码包含8到16位数字和字母前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文出自:http://www.jb51.cc/article/p-obbffgmk-brm.html

一丶概述

新的简单需求,修改后密码包含8到16位数字字母。

基础知识:Java 正则表达式

二丶主要代码

/**  * 修改密码  */ public void btn_changPassword() {
    String newPassword = et_newPassword.getText().toString();
    String surePassword = et_surePassword.getText().toString();
    String oldPassword = et_oldPassword.getText().toString().trim();
    if ("".equals(oldPassword)) {
        toast("请输入原密码");
        return;
    }
    if ("".equals(newPassword)) {
        toast("请输入新密码");
        return;
    }
    if ("".equals(surePassword)) {
        toast("请输入确认密码");
        return;
    }
    if (!newPassword.equals(surePassword)) {
        toast("输入两次新密码不相同");
        return;
    }

    if (!isMatcherFinded("^(?![^a-zA-Z]+$)(?!\\D+$).{8,16}$",newPassword)) {
        ToastUtils.makeText(this,"请输入包括数字和字母、长度8到16位的密码组合",ToastUtils.TWO_SECOND);
        return;
    }

    if (mMyApplication == null)
        mMyApplication = MyApplication.getInstance();
    UserEntity userEntity = mMyApplication.getmUser();
    if (userEntity != null) {
        userId = userEntity.getUserId();
        changPassWordPresenter.changPsw(userId,oldPassword,newPassword);
    }
}

public static boolean isMatcherFinded(String patternStr,CharSequence input) {
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher(input);
    if (matcher.find()) {
        return true;
    }
    return false;
}
三丶求粉求关注

如果文章对你有帮助欢迎关注

猜你在找的正则表达式相关文章