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

本文出自:http://blog.csdn.net/dt235201314/article/details/78804754

一丶概述

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

基础知识:Java 正则表达式

正则表达式实例:http://www.jqhtml.com/10581.html

二丶主要代码

/**
 * 修改密码
 */
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;
}

猜你喜欢

转载自blog.csdn.net/DT235201314/article/details/78804754